Grav Open Course Hub with Git Sync is designed to give organizations or individual tech-savvy instructors an open, collaborative and flexible platform that they can partner with their current learning platform (e.g. Canvas, Moodle, Microsoft Teams, etc.). With this approach, content presentation is handled by the Grav CMS (where faculty and students can have full control) while assessment still occurs within the institutional platform.
One or more Open Course Hub pages can also be seamlessly embedded into another system (i.e. LMS) with the 'chromeless' feature. For example, view a recent Open Course Hub site and then view the same open and collaborative content embedded within a Canvas LMS site.
A MultiCourse Hub variation is also available, as shown below.
]]>From the getgrav.org site at https://getgrav.org/downloads/skeletons or via this direct link: https://github.com/hibbitts-design/grav-skeleton-course-hub/releases/latest/download/grav-skeleton-course-hub.zip
You can also download a MultiCourse variation of Course Hub, including three different example courses using a range of page types and features, at https://github.com/hibbitts-design/grav-skeleton-multicourse-hub/releases/latest/download/grav-skeleton-multicourse-hub.zip
From the getgrav.org site at https://getgrav.org/downloads/skeletons or via this direct link: https://github.com/hibbitts-design/grav-skeleton-open-publishing-space/releases/latest/download/grav-skeleton-open-publishing-space.zip
Grav Open Publishing (Blogging) Space Space with Git Sync is designed to help organizations or individual tech-savvy authors more easily publish, share and collaboratively edit Markdown-based blogs or Websites.
One or more Open Publishing Space pages can also be embedded into another system (i.e. LMS) with the 'Chromeless Pages' option, which hides global navigation elements.
Explore a sample Open Publishing Space site at demo.hibbittsdesign.org/grav-open-publishing-quark/
]]>From the getgrav.org site at https://getgrav.org/downloads/skeletons or via this direct link: https://github.com/hibbitts-design/grav-skeleton-learn2-with-git-sync/releases/latest/download/grav-skeleton-learn2-with-git-sync.zip
From the getgrav.org site at https://getgrav.org/downloads/skeletons or via this direct link: https://github.com/hibbitts-design/grav-skeleton-course-hub/releases/latest/download/grav-skeleton-course-hub.zip
From the MacUpdate site at https://www.macupdate.com/app/mac/10433/symboliclinker
From the software author's site at http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html. More information is available at https://www.howtogeek.com/howto/16226/complete-guide-to-symbolic-links-symlinks-on-windows-or-linux/
Congratulations! You now have a local copy of your own Course Hub running.
]]>With the v2.7 release of the Grav Open Course Hub skeleton package MultiCourse Hubs are now supported.
Each course within a MultiCourse Hub is structured the same as a single course, and stored within its own top-level page (folder) with the template 'subsite'. A course header image, menubar, sidebar and footer can be specific to each course, or shared between one or more courses.
An automatically generated list of all courses within a site is possible by creating a top-level page with the template 'subsitelist', as shown below.
Each listed course has a number of options available, including being selectively hidden from the course list.
]]>
Using a customized version of the Grav Learn2 theme, Learn2 with Git Sync is designed to help organizations or individual tech-savvy authors more easily share and collaboratively edit Markdown-based documentation.
Explore a sample Learn2 with Git Sync site at:
demo.hibbittsdesign.org/grav-learn2-git-sync/
Would you rather make a single or reoccurring financial contribution to help support Paul's Grav and Docsify work? You can do that too - thank you!
Looking for another way to show a bit of ❤️ for Paul's open source work? Give one of his Grav or Docsify project GitHub Repositories a ⭐️. Thanks!
]]>This site contains documentation about the open source Grav Open Course/MultiCourse Hub, Grav Open Publishing Space and Grav Learn2 with GitSync projects. If a simpler path to Markdown publishing with less customization ability is more suitable, you might find the GitHub Pages Docsify Open Course, Docsify Open MultiCourse and Docsify Publishing Starter Kits of interest.
To go from a Markdown file to a simple web page in seconds, check out Docsify-This.
]]>Get the most out of your Open Course Hub!
You can use the GitHub Desktop application with either GitLab or GitHub to clone and edit your Open Course Hub pages on your own computer:
The Open Course Hub skeleton package comes with an Inherited Theme called 'mytheme' all ready for your further customization.
In addition, this theme is also automatically synced to the Git repository of your site. This means that you can invite other people, such as fellow educators or your students, to assist in the further customization of your site.
When displaying Open Course Hub pages within another system (e.g. LMS) it is often helpful to only display page content and not include header navigation and the sidebar.
To support this use of Open Course Hub, a number of URL parameters are available:
chromeless
embedded
hidepagetitle
hideheaderimage
summaryonly
Chromeless Parameter
The chromeless:true
URL parameter will display a page without global navigation elements. For example, https://demo.hibbittsdesign.org/grav-open-matter-course-hub/ux-techniques-guide/chromeless:true
Embedded Parameter
An alias for 'chromeless', for example embedded:true
is the same as chromeless:true
. For example, https://demo.hibbittsdesign.org/grav-open-matter-course-hub/ux-techniques-guide/embedded:true
HidePageTitle Parameter
The addition of the hidepagetitle:true
URL parameter will display a 'chromeless' page without it's title. For example, https://demo.hibbittsdesign.org/grav-open-matter-course-hub/ux-techniques-guide/chromeless:true/hidepagetitle:true
HideHeaderImage Parameter
The addition of the hideheaderimage:true
URL parameter will display a page without it's header image. For example, http://demo.hibbittsdesign.org/grav-open-matter-course-hub/resources/chromeless:true/hidepagetitle:true/hideheaderimage:true
Summary Only Parameter
The addition of the summaryonly:true
URL parameter will display the summary of a 'chromeless' blog page. For example, https://demo.hibbittsdesign.org/grav-open-matter-course-hub/home/module-01/chromeless:true/summaryonly:true
To make a blog post precede all other blog posts listed, add a featured
tag to it's taxonomy field (located on the Options
panel when editing a page in the Admin Panel). The frontmatter that is added to the page will look like this:
taxonomy:
tag:
- featured
To hide a blog post from the homepage post list, but still make it available on other pages, add the following page frontmatter option:
hide_from_post_list: true
To override the automatically calculated Git Repository URL on a page (i.e. to view a folder containing child pages), add the desired URL to the page frontmatter like this:
git_sync_repo_link: https://github.com/hibbitts-design/grav-skeleton-course-hub/tree/master/pages/01.home
Badge
This ShortCode displays a badge, with an optional link.
[badge label="Fri Aug 3rd 11:59pm PDT"][/badge]
[badge label="Mon Mar 15th 11:59pm PST" url="https://www.timeanddate.com/worldclock/fixedtime.html?msg=CMPT-363+Group+Storyboards+Mockups+Due+Date&iso=20210315T2359&p1=256"]
Button
This ShortCode displays a link as a Bootstrap button, with optional size, classes, type and target.
[button label="Go to GetGrav.org" url="http://getgrav.org"]
View more details at getbootstrap.com/docs/4.5/components/buttons/
Embed.ly
This ShortCode embeds an Embed.ly card Webpage preview.
[embedly url="http://getgrav.org"]
Example (image)
Google Slides
This ShortCode embeds a...
]]>Get the most out of your Open Publishing Space!
You can use the GitHub Desktop application with either GitLab or GitHub to clone and edit your Open Publishing Space pages on your own computer:
The Open Publishing Space skeleton package comes with an Inherited Theme called 'mytheme' all ready for your further customization.
In addition, this theme is also automatically synced to the Git repository of your site. This means that you can invite other people, such as fellow educators or your students, to assist in the further customization of your site.
When displaying Open Publishing Space pages within another system (e.g. LMS) it is often helpful to only display page content and not include header navigation and the sidebar.
To do this, add chromeless:true
to your page URLs. For example, to only display the content of the page at http://demo.hibbittsdesign.org/grav-open-publishing-quark/blog/the-urban-jungle you would use the revised URL of http://demo.hibbittsdesign.org/grav-open-publishing-quark/blog/the-urban-jungle/chromeless:true
To make a blog post precede all other blog posts listed, add a featured
tag to it's taxonomy field (located on the Options
panel when editing a page in the Admin Panel). The frontmatter that is added to the page will look like this:
taxonomy:
tag:
-featured
To hide a blog post from the homepage post list, but still make it available on other pages, add the following page frontmatter option:
hide_from_post_list: true
To override the automatically calculated Git Repository URL on a page (i.e. to view a folder containing child pages), add the desired URL to the page frontmatter like this:
git_sync_repo_link: https://github.com/hibbitts-design/grav-skeleton-open-publishing-space/tree/master/pages/01.blog
iFrame
This ShortCode embeds an iFrame.
[iframe url="http://getgrav.org"]
[iframe url="http://getgrav.org" aspectratio="4-3"]
[iframe url="http://getgrav.org" aspectratio="16-9"] (default)
PDF File
This ShortCode embeds an external PDF file.
Markdown File
This ShortCode embeds an external Markdown file.
[markdownfile url="https://raw.githubusercontent.com/hibbitts-design/grav-skeleton-open-publishing-space/master/README.md"]
Embed.ly
This ShortCode embeds an Embed.ly card Webpage preview.
[embedly url="http://getgrav.org"]
Example (image)
Google Slides
This ShortCode embeds a Google Slides deck.
<div class="grav-youtube"><iframe src="https://docs.google.com/presentation/d/e/2PACX-1vSPiOUzmRG4EB6ng8KQgOwZEbVuN2u1d5tGVTiAyzlVuO_o4Zjyli3oAf_U_CqXml_6GMUBR9nUyEYb/embed?start=false&loop=false&delayms=3000" frameborder="0" width="960" height="569" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe></div>
Example (image)
H5P
This ShortCode embeds an H5P content item.
When using the format the H5P Content Embed Source URL must be set in the Active Theme settings.
Example (image)
]]>With GitHub's recent change of repository default branches being named 'main' instead of 'master' the following work-around is needed until GitHub also addresses automatic default branch re-routing:
Hello everyone! In this video, we’re going to set up the GitSync plugin on our Grav website.
GitSync is an easy solution to automatically synchronize your Grav website with a Git repository on services like GitHub, GitLab, and BitBucket.
Setting it up is easy! All you need is a Git Repo and a Grav site. Here’s how:
First, install the Git Sync Plugin - once the plugin is installed a four-step Wizard will automatically appear.
Step 1
Step 2
Step 3
If you have already created a Git repository (with at least one commit, for example a ReadMe file) you may skip to step 3.10
With GitHub's recent change of repository default branches being named 'main' instead of 'master' the following work-around is needed until GitHub also addresses automatic default branch re-routing:
Note: you can also choose to sync other user folders here, and as well in the plugin configuration panel
If you have already created a Git repository (with at least one commit, for example a ReadMe file) you may skip to step 3.10
With GitHub's recent change of repository default branches being named 'main' instead of 'master' the following work-around is needed until GitHub also addresses automatic default branch re-routing:
Note: if you change the folder name or location of your site you will also need to update the "Payload URL" field
Note: you can also choose to sync other user folders here, and as well in the plugin configuration panel
Note: you can change this link to also go directly to the displayed page in your Active Theme settings
The 'chromeless' feature of the Grav Course Hub hides a site's global navigation elements for seamlessly displaying Course Hub page content within the Canvas LMS in three different ways:
Curious what all this might look like? Visit an example Canvas site with Grav Course Hub Content.
<p><iframe style="border:0px #ffffff none; margin-top:-16px" src="https://example.com/chromeless:true" width="100%" height="950px" allowfullscreen="allowfullscreen"></iframe></p>
Additional URL parameters supported which might be helpful in addition to the 'chromeless' URL parameter:
If you do not see the "Redirect Tool" icon, you will need to install it. Tap on the "All" button to view all External Apps and chose the "Redirect Tool" to install it.
Would you prefer to have a quick chat to share your experiences? Visit the Grav Discord Room and feel free to Message me (Paul Hibbitts).
]]>On a Mac, choose "Show in Finder"
On Windows, choose "Show in Explorer"
You can now edit these files locally, and use GitHub Desktop to push changes to your GitLab repository.
]]>Would you prefer to have a quick chat to share your experiences? Visit the Grav Discord Room and feel free to Message me (Paul Hibbitts).
]]>The 'chromeless' feature of the Grav Course Hub hides a site's global navigation elements for seamlessly displaying Course Hub page content within the Moodle LMS in three different ways:
Curious what all this might look like? Visit an example Moodle site with Grav Course Hub Content.
<p><iframe scrolling="no" style="border: 0px #ffffff none; " src="http://example.com/chromeless:true" allowfullscreen="allowfullscreen" height="540px" width="100%"></iframe></p>
If all of the content expected is not displayed, or there is too much space between the bottom of the content and the next Moodle item, you may want to re-edit your iFrame code and adjust the "height" value.
<p><iframe scrolling="no" style="border: 0px #ffffff none; " src="http://example.com/chromeless:true" allowfullscreen="allowfullscreen" height="540px" width="100%"></iframe></p>
If all of the content expected is not displayed, or there is too much space between the bottom of the content and the next Moodle item, you may want to re-edit your iFrame code and adjust the "height" value.
Please note that you can also add Course Hub Content using the URL object in Moodle.
Markdown is the cornerstone of all Grav content. If you know some basics about Markdown, you’re going to get a lot out of Grav. In this video, we’ll show you some more advanced techniques that take advantage of Grav’s built-in features to get the most out of Markdown for your site’s content.
There are times when you want to give links specific attributes, like making them open links in new tabs rather than in the current window. Here’s how:
Create a standard link using the traditional markdown link rules.
Add a question mark at the end of the link’s URL.
Add target=_blank
. This will tell Grav that the link should be opened in a new, blank tab.
You can also add other features such as CSS classes, IDs, and nofollow attributes using this method.
Next, let’s talk about media handling. This is one area where Grav puts in a lot of great features that go well beyond traditional Markdown.
Let’s say you have an image. Adding the image to a page is easy, but what if you want that image to appear in black and white? You could open an image editor and edit it yourself, but you can use markdown to do this for you. Here’s how.
Create the image link as you normally would using the basic markdown technique. At the end of the image’s filename, add a question mark and the word grayscale.
Now, let’s say you wanted to change the size of the image by performing a crop and zoom. This is easy, too. Simply add an ampersand to the end and the words cropZoom=300,200. This will create a cropped and zoomed version of the grayscale image that is 300 pixels wide by 200 pixels high.
There are a lot of other tricks you can apply to media files in Grav, many of which are detailed in Grav’s official documentation.
Tables are an incredible way to bring large amounts of organized content into focus in a clean, easy-to-digest way. Markdown takes a lot of the work out of creating a web-based table. Let’s get started with one!
Let’s put together a simple table listing staff members by name and area of expertise. We have three staff members, each focusing on a different subject.
To create a table, we will use vertical bars to separate cells. Each bar indicating the start of a new cell.
The top row sets the titles of each column of our table. Depending on the theme, this particular row may be emboldened or treated with a different font or weight than the rows below it.
Next, we want to configure how the next set of rows aligns. So, we can do that using a series of dashes and colons. The colons indicate which side of the cell the text aligns to. A colon on each side of the dashes tells Grav to align content in the center.
Finally, we’ll fill in the next few rows with...
]]>Once you have configured Git Sync on your Grav site, it’s time to put it to use! One of the great things about Git Sync is that it gives you a ton of different options for editing your website’s content and syncing those changes to your Git provider of choice, such as GitHub, GitLab, Bitbucket and others.
To demonstrate these options, we’re going to use our Grav site and a GitHub repository we synced in a previous video.
We’re going to examine three ways to edit that site’s content: including the Admin Panel, on GitHub.com, and locally using Git.
Git Sync works automatically in the background, so once you’ve configured it, you can create and edit pages directly from the Grav admin like you normally would and see those changes synchronized in real-time to GitHub.
Let’s say we have a page here we would like to change the title for. Since we have Git Sync set up, the page also appears in the GitHub repo.
Now, we just edit the title and save our changes in the Grav Admin. Once we have done that, we can refresh the page in our repo and see the changes.
That’s all there is to it! Your content is synced and backed up on GitHub without any extra steps.
The same process works in the other direction. You can edit or create a page on GitHub’s website and it will automatically appear on your website thanks to Git Sync. This is done by using the Webhook that was initially setup with the repo.
That page we edited earlier could use another small change. Simply navigate to the page in your repo and select the edit icon.
You can make any changes you’d like to make here, then commit the changes at the bottom of the page. Your changes should appear on the website automatically.
Since your content is now on GitHub, Pull Requests from other GitHub members are now possible. A Pull Request is a suggested change to your content, where you can first review those changes before deciding to accept them, discuss possible further modifications, or decide not to accept them.
Finally, let’s look at another great option. Because your content is being saved in a git repo, you can clone it down locally using your git client of choice and edit the page files in a text editor and push those changes to GitHub and your website all without having to even open your browser.
Using the free GitHub Desktop app for Windows and MacOS, we are going to clone my repository to my local drive by either finding it through the interface or copying the HTTPs git URL from GitHub.com.
Once the files are downloaded, you can open them in a code editor of your choice. Keep in mind this is a more advanced method and you will need to become familiar with Grav’s YAML frontmatter to edit such items as the title and...
]]>Markdown is the lightweight markup language that powers the content of a Grav page. It’s simple to understand, human readable, and is used in an ever growing number of applications.
In this video, we’ll look at some of the most common markdown examples and how you can use them to create brilliant, well-formatted pages for your website.
Let’s start by talking about headers. Headers create large subtitles on your page, enabling you to highlight important points and define the different sections of your content.
Headers come in different sizes. Most themes support six levels of headings, which is also the HTML standard. Each header level represents a different size of text, making differentiating between main points and sub-points easier.
Many Grav themes use the first level, referred to as H1 in HTML, as the title of the page. So, let’s go over an example using a second-level header as the top level for our page’s content.
A level-two header can be created by simply adding two number signs (also referred to as pound and hash signs) and a single space before your heading text.
You can point out finer details and sub-topics by creating third and fourth-level headers using three and four number signs. With the right theme, you can continue this practice all the way down to a sixth-level header.
Markdown also makes it easy to create bold and italic text. Like many things in Markdown, there are multiple ways to do it.
The most common way is by using asterisks on either side of the text you want to bold or italicize. One asterisk for italic text, and two for bold.
Ordered (also called numbered) lists and unordered lists are a great way to break the content down into steps or create a list of items that is easy to read.
In markdown, this is a simple process. Let’s start with an unordered list.
Use an asterisk or dash and space before your first item on the list. Then, continue this on new lines for each additional item. You can create sub-items by adding two or four spaces before the asterisk or dash on a new line.
Ordered lists are done in much the same way, except instead of an asterisk, you’ll use a number and a period.
Ordered and unordered lists can even be combined.
Adding links to your content is really simple in markdown. Let’s say you wanted to add a link to Grav’s official website to this text here. All you have to do is surround the text you want to create a hyperlink within brackets. Then, in parathesis, add the URL you want the link to go to.
That’s it! You’ve turned text into a hyperlink!
Let’s say you want to add an image to your page. That’s really easy to do in Markdown.
I have an image here called example.jpg. To add it to my page, I just need to do the following:
Hello everyone! Today, we’re going to be installing a new plugin and theme to our Grav site.
Grav comes with a default theme called Quark, but what if we wanted to try out one of the over 100 other free and open source themes available for Grav?
What if we wanted to add features to our site using one or more of the nearly 300 free plugins Grav has to offer?
We can do both of these things very easily in Grav. Here’s how:
Let’s use the YouTube Plugin as our example - this Plugin will let you to seamlessly embed YouTube videos into your Grav Markdown content, and will even add a YouTube button to your Page Editor area to help you more easily add a YouTube video.
To install this plugin, we’ll need to access the Grav admin and head over to the Plugin tab. Here, you can see a list of your currently installed plugins.
Next, we will select the Add button and use the search bar to find the plugin called YouTube.
Clicking the Install button gives you a popup where you can initiate the installation process. When you do this, the plugin and any dependencies will be installed automatically.
Upon successful installation, you should be taken directly to the plugin’s configuration page. Here, you can see any options the plugin has and set them as you like. You can also usually access the ReadMe file for the Plugin from this page.
You should also make sure your plugin is enabled using the toggle buttons in the Plugin Status field.
If you have made any changes to the configuration of the plugin click Save and you are now ready to use the Plugin.
Using this plugin is a breeze. All you need to do now to add a youtube video to your page is to click the “YouTube” icon now in your page content editor toolbar and enter the URL of the YouTube video you would like to add (https://www.youtube.com/watch?v=avcGP0FAzB8) You can also type out the Shortcode by using[plugin:youtube]
followed by (https://www.youtube.com/watch?v=avcGP0FAzB8)
That’s it! Just save and take a look at your new embedded video.
Let’s say we want to give our Grav site a new look. To do this, we’ll need to give our site a new theme. One of Grav’s most popular free themes is Bootstrap4. It’s a simple theme featuring the flexible Bootstrap framework.
To install a new theme, select Themes from the sidebar of the admin. This will take you to a page that displays all of your currently-installed themes.
From here, click Add and use the Filter field to search for your theme. Once you’ve located your theme of choice, click Install and Continue on the popup that appears. If the theme requires any dependencies they will be installed automatically.
After the theme installation is complete you will then be directed to your new theme’s configuration page where you can set any...
]]>Hello everyone! In this video, we’re going to be discussing creating and editing Grav pages.
Pages are the heart of your Grav site, and since they are stored as individual files (and not within a database) they offer some unique possibilities.
These include being editable in either the Admin Panel (as shown in this video) or using the text editor of your choice. In addition, since all the options for each page are stored at the start of a page file [try to have video to show example of YAML], they can also be edited by either method .
Let’s start by looking at the different types of pages you can create for your Grav site.
The first type is the Standard Page. This is the most common type of page, consisting of a single markdown file and any associated images.
Second, we have the Listing Page. A Listing Page is a variation of the Standard page that contains a collection of child-pages where each page can also be separately viewed, for example, blog posts.
Lastly, we have the Modular Page. A Modular Page is a special type of a Listing page, where a collection of pages are stacked on top of each other to create a unified, single page. This enables you to present different types of content on a single page.
So, now that we’ve covered the types of pages you can create, let’s create one using the Grav Admin!
Once you’re in your site’s Admin, you’ll notice a Pages link in the sidebar. Clicking on the Pages link will take you to a list of pages on your site. Using the provided round (+) buttons you can expand the view to include any page sub-folders To create a new page, simply select the + Add button and choose Add Page.
The Add Page button creates a non-modular page for your site. Once selected, a popup will appear enabling you to enter a Title and Folder Name, assign a Parent Page and Display Template, as well as to set whether the page should be visible or hidden.
The Title is pretty straightforward. The Folder Name will be the name of the folder as it appears in your site’s file system under the /pages directory. You don’t have to set anything custom here since a folder name is automatically generated based on the title. The folder name will also used to create the URL path to the page, for example for the page folder /blog the full URL to that page would be something like http://mysite.com/blog.
The Parent Page option gives you the opportunity to assign a parent to the new page you’re creating. A common example would be choosing the blog page when you’re creating a blog post.
The Page Template option will determine which template is used to present the content for the new page. When creating a new page for a Listing Page the appropriate Child Page Template is usually automatically selected.
The Visible...
]]>Hello everyone! Today we’re going to be installing Grav on our server. In this tutorial, we’ll go over the installation the core Grav CMS with the Admin plugin.
Prerequisites
Before we can dive into the installation process, we need to have a web server handy running PHP 7.1.3 or higher.
Methods of Installing Grav
Ideally, you will want to have access to the server’s file system either directly or remotely through a solution like CPANEL or FTP.
You can also install Grav using the server’s command line. Additionally, some hosting providers even provide a one-click installation option through their service that takes care of the whole installation process for you. Check with your hosting provider to see if this is an option for you.
Types of Grav Installations
Let’s start by going over the different types of Grav packages you can install. You can choose the Core Grav with Admin package, which will give you everything you need to get started with Grav.
You can also pick up a skeleton package giving you everything the core grav and admin package includes, in a styled site pre-installed demo content, plugins, and a theme.
For advanced users that prefer to live in the command line, you can install Grav by itself.
The initial installation process for all three of these options is very much the same. In this video, however, we’ll stick to installing the core Grav and admin package.
You can do this directly through your operating system’s file manager if you have access to your server’s file system directly, or through a tool like CPANEL or FTP client.
Step 1: Download the Grav Core + Admin Package
Step 1 is simple. Just download the Grav + Admin package from GetGrav.org. You can find the latest version of Grav by hitting the Get Grav button on the home page, then selecting Grav Core + Admin Plugin.
You do have the option here to download a beta version of Grav Core and Admin which is a great solutionif you want the latest and most cutting-edge version of Grav and don’t mind beta testing new features.
Once you select the Grav Core + Admin Plugin link, you will download a zip file containing everything you need to get started.
Step 2: Extract the Zip file in the Webroot of Your Server
The next step is equally simple. Navigate to the webroot of your server and upload the ZIP file where you would like your Grav installation to reside. Then, extract the zip file.
You should have a folder named grav-admin containing several directories and other files. You can rename this directory or move its contents to a more specific location within your server. Just be sure to also move the HTACCESS...
]]>Hello everyone! Today, we’re going to be creating custom menu items in Grav.
Custom menu items give you the ability to quickly and easily add links to your site’s navigation menu that go beyond your site’s pages and into external resources.
Link to your social media pages, other websites you manage, or even to a GitHub or GitLink content repository containing the content of your Grav site. The choice is yours.
The most common method for achieving this is through creating a redirect page within your site.
Let’s get started! Step 1: Create a Redirect Page Even though we’re linking our new menu item to an external page, we still have to create what’s referred to as a Redirect Page which tells Grav that an item should appear in the site menu, and where that item should go.
Here’s how:
Step 1: Create a Page
Step 2: Add the Redirect
The next step in the process involves adding the redirect to the page. Here is the simplest method:
Select the Advanced tab. Scroll down to Overrides and locate the Page Redirect field. Enter the URL you would like the menu item to go to in the field. Select Save.
That’s it! We’ve created a new menu item that goes directly to your URL of choice.
There are other ways to achieve the same effect, including manually entering the redirect override in Expert mode or using your text editor of choice. Some themes also have easy-to-configure fields that enable you to add custom menu items along with icons without having to create pages at all.
And that wraps up at our brief look at creating custom menus in Grav!
]]>Hello everyone! Today we’re going to talk about Grav’s folder structure (folder structure?) and where you can go to find, create, and edit pages and settings within your Grav site.
Let’s start by talking about what Grav is. Grav is a flat-file content management system. The flat-file part of that title means that there are no databases or complex data structures to deal with. Everything from your site’s configuration to its content is kept in simple, human-readable files that you can easily access and edit.
Another important thing to note is that virtually every configuration option you can access from the site’s file system is also reachable through the Admin Panel. A well-written theme or plugin should make it easy to adjust anything you need to without ever having to open a code editor.
To make things simple, let’s look at the root directory of a typical Grav site. There is one directory here you as the user [Grav site author?] should pay attention to the /user directory.
This is home to just about everything you’ll interact with. Your site and system configuration, plugins, themes, and content are kept in this directory. Everything else is part of Grav’s core system and doesn’t require any direct interaction.
Ideally, you should be able to duplicate any Grav site by copying everything in this directory.
Now that we’ve narrowed it down to one directory, we can focus on what each subdirectory brings to the table.
User accounts are stored in the /accounts folder. Here, you will find YAML files that store information such as the name, user level, and a hashed copy of the account’s password. YAML files are text-based configuration files.
If you need to modify the access rights of a user accounts, editing their associated YAML file from this directory will do the trick.
The /blueprints directory is where custom blueprints are stored. Blueprints are YAML files that let Grav know what configuration options are available for a given plugin or theme.
The /config folder is where your configuration options are stored. This folder not only contains your site and system options, but the settings for all of your plugins and themes, as well.
Want to change the name of your website? You’ll find the site.yaml file where you can do it here. Want to enable or disable a specific plugin? You can do so here.
The /data folder is where custom data generated by plugins and other interactive aspects of your site is stored.
This directory is home to any images you want to access in various areas of your site. Your site’s logo would likely be stored here, as well as images that are commonly accessed by your theme.
You can also store images used in specific pages in their individual page directories.
For multilingual sites, this folder is essential. It contains translation files that tell Grav what text to display depending on which language is selected by...
]]>The Open Course Hub was designed to:
The guiding design principles for the Open Course Hub are:
Open Course Hub Problem Statements:
Educators need a means to deliver and integrate materials outside their LMS to reach their pedagogical goals while still keeping sensitive student data within their LMS.
Educators need a way to deliver a better multi-device experience because students expect to be able to access and interact with their online course presence at any time, on any device.
Educators need a way to more quickly update their online course presence so more time is available for other teaching activities and it’s easier to keep their materials up to date.
Open Course Hub Value Proposition Statement:
The Grav Open Course Hub helps tech-savvy educators to enhance the student and facilitator experience by pairing their existing LMS with a modern open platform supporting Markdown content and a collaborative Git-based workflow.
]]>Learn2 with Git Sync Project was designed to:
The Open Publishing Space was designed to:
Looking for a similar example using GitLab? View the install and configuration video of using GitLab for the Open Publishing Space with Git Sync package.
Looking for a similar configuration example using GitHub? View the install and configuration video of using GitHub for the Learn2 with Git Sync package.
POWER TIP: If you tap the Edit page button when viewing a page in GitLab (or GitHub) and use that base URL then when the Open Publishing Space Edit this Page link is tapped the editing mode will be automatically enabled in GitLab (or GitHub).
]]>Looking for a similar example using GitLab? View the install and configuration video of using the GitLab for the Open Publishing Space with Git Sync package.
POWER TIP: If you tap the Edit page button when viewing a page in GitLab (or GitHub) and use that base URL then when the Learn2 with Git Sync Edit this Page link is tapped the editing mode will be automatically enabled in GitHub (or GitLab).
]]>This will quickly take you to the (GitHub) repository holding your files.
Learn more about using Markdown, Markdown tools and Git-based services (i.e. GitHub, GitLab, etc.) that naturally complement Grav
]]>Using GitLab and new Electron-based GitHub Desktop, Grav site content can be edited locally with changes selectively committed to a GitLab (Git) repository.
While the following steps are basically the same for all four Grav with Git Sync projects, the Open Course Hub will be used as a specific example.
]]>Looking for instructions to use the classic GitHub Desktop app? GitLab & GitHub Desktop
Using GitHub and GitHub Desktop, Grav site content can be edited locally with changes selectively committed to a GitHub (Git) repository.
While the following steps are basically the same for all four Grav with Git Sync projects, the Open Course Hub will be used as a specific example.
]]>Would you prefer to have a quick chat to share your experiences? Visit the Grav Discord Room and feel free to Message me (Paul Hibbitts).
]]>Would you prefer to have a quick chat to share your experiences? Visit the Grav Discord Room and feel free to Message me (Paul Hibbitts).
]]>If the "My Theme" theme is not available, tap on the "Bootstrap4 Open Matter" theme.
On the "Open Matter" tab you can change various options, including for Git Sync, H5P, Creative Commons License display, and custom Menubar items.
On the "Bootstrap4 Options" tab you can change various Bootstrap options, including the color for the site NavBar (Menubar).
Remove the existing "Page Media" image and replace with an image of your choice.
Get the most out of your Learn2 with Git Sync site!
The easiest method to customize the Learn2 with Git Sync theme is to use Grav’s theme inheritance feature. However, as the Learn2 with Git Sync is actually an inherited theme, your /user/themes/mytheme/mytheme.yaml
file will need to include a total of three theme references:
streams:
schemes:
theme:
type: ReadOnlyStream
prefixes:
'':
- user/themes/mytheme
- user/themes/learn2-git-sync
- user/themes/learn2
A customizable 'mytheme' inherited theme is also provided with the Learn2 with Git Sync skeleton package, available for download at getgrav.org/downloads/skeletons.
Once you upgrade to the newest release of the Learn2 with Git Sync theme, create a new root-level page folder with the name feed
containing a file called docs.md
, add then the following content to that page file:
---
visible: false
content:
items:
'@taxonomy.category': 'docs'
order:
by: date
dir: desc
---
Non-visible page for RSS feed page collection. RSS feed URL is ../feed.rss
You can view an example Feed page at github.com/hibbitts-design/grav-skeleton-learn2-with-git-sync/tree/master/pages/feed
Refresh your Browser window and the RSS/Atom feed buttons should now appear at the bottom of the left sidebar (make sure that the Feed plugin is installed and enabled).
A ready-to-go set of RSS/Atom feed buttons are provided with the Learn2 with Git Sync skeleton package, available for download at getgrav.org/downloads/skeletons.
Grav comes packaged with the capability to quickly and easily set the order of your pages. All you need to do is use the hamburger menu icon to drag your pages into the order that you would like them to appear in your table of contents.
However, you may find that, even though you have the ToC set up as you want it, the navigation in your Learn2 documentation site doesn't match the ToC, or that a chapter or page gets skipped when you use the arrows to navigate.
To fix this, please ensure that all of the following settings on your chapters and pages match the following:
Ensure that you are using the proper page template:
And ensure that you are using the correct page category:
]]>chromeless:true
URL parameter)
Additional URL parameters supported which might be helpful in addition to the 'chromeless' URL parameter:
Note: if you change the folder name or location of your Grav Open Publishing Space site you will also need to update the "URL" field
Note: you can also choose to sync other user folders here, and as well in the plugin configuration panel
Note: you can change this link to also go directly to the displayed page in your Active Theme settings