Code Monkey home page Code Monkey logo

grav-theme-learn2-git-sync's Introduction

Learn2 with Git Sync

Learn2 with Git Sync is a customized version of the default Grav Learn theme. Includes selectable visual styles.

Want to quickly try out this theme? The Learn2 with Git Sync Skeleton is a ready-to-run site with the Learn2 with Git Sync Theme, which also includes the Admin Panel and example content already installed.

Learn2 with Git Sync

Installation

Installing the Learn2 with Git Sync theme can be done in one of two ways. Our GPM (Grav Package Manager) installation method enables you to quickly and easily install the theme with a simple terminal command, while the manual method enables you to do so via a zip file.

The theme is designed to be used to provide a documentation site. You can see this in action at learn.hibbittsdesign.org

GPM Installation (Preferred)

The simplest way to install this theme is via the Grav Package Manager (GPM) through your system's Terminal (also called the command line). From the root of your Grav install type:

bin/gpm install learn2-git-sync

This will install the Learn2 with Git Sync theme into your /user/themes directory within Grav. Its files can be found under /your/site/grav/user/themes/learn2-git-sync.

Manual Installation

To install this theme, just download the zip version of this repository and unzip it under /your/site/grav/user/themes. Then, rename the folder to learn2-git-sync.

You should now have all the theme files under

/your/site/grav/user/themes/learn2-git-sync

NOTE: This theme is a modular component for Grav which requires the Grav, Error and Problems plugins.

Updating

As development for the Learn2 with Git Sync theme continues, new versions may become available that add additional features and functionality, improve compatibility with newer Grav releases, and generally provide a better user experience. Updating Learn2 with Git Sync is easy, and can be done through Grav's GPM system, as well as manually.

GPM Update (Preferred)

The simplest way to update this theme is via the Grav Package Manager (GPM). You can do this with this by navigating to the root directory of your Grav install using your system's Terminal (also called command line) and typing the following:

bin/gpm update learn2-git-sync

This command will check your Grav install to see if your Learn2 with Git Sync theme is due for an update. If a newer release is found, you will be asked whether or not you wish to update. To continue, type y and hit enter. The theme will automatically update and clear Grav's cache.

Manual Update

Manually updating Learn2 with Git Sync is pretty simple. Here is what you will need to do to get this done:

  • Delete the your/site/user/themes/learn2-git-sync directory.
  • Download the new version of the Learn2 with Git Sync theme from either GitHub or GetGrav.org.
  • Unzip the zip file in your/site/user/themes and rename the resulting folder to learn2-git-sync.
  • Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in terminal and typing bin/grav clear-cache.

Note: Any changes you have made to any of the files listed under this directory will also be removed and replaced by the new set. Any files located elsewhere (for example a YAML settings file placed in user/config/themes) will remain intact.

Recompile CSS from SCSS

To recompile default style using a Sass-compiler, run it on /scss/theme.scss and output to /css-compiled/theme.css, like node-sass --watch --source-map true scss/theme.scss css-compiled/theme.css. To do the same for custom styles, run it on /scss/custom and output to /css-compiled/custom, like node-sass --watch --source-map true scss/custom/ css-compiled/custom.

Features

  • Lightweight and minimal for optimal performance
  • Fully responsive with off-page mobile navigation
  • SCSS based CSS source files for easy customization
  • Built specifically for providing easy to read documentation
  • Fontawesome icon support

Supported Page Templates

  • "Docs" template
  • "Chapter" template
  • Error view template

Setup

🚨Before setting up Git Sync, please make sure to remove the ReadMe.md file in your Grav site user folder (if one exists). This will prevent a possible sync issue when creating a default ReadMe.md file in your new Git repository.🚨

If you want to set Learn2 with Git Sync as the default theme, you can do so by following these steps:

  • Navigate to /your/site/grav/user/config.
  • Open the system.yaml file.
  • Change the theme: setting to theme: learn2-git-sync.
  • Save your changes.
  • Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in Terminal and typing bin/grav clear-cache.

Once this is done, you should be able to see the new theme on the frontend. Keep in mind any customizations made to the previous theme will not be reflected as all of the theme and templating information is now being pulled from the learn2-git-sync folder.

TNTSearch Configuration

The default search route for the TNTSearch plugin (used for the 'Advanced Search' feature) is set to /tntsearch

grav-theme-learn2-git-sync's People

Contributors

amiram avatar holehan avatar olevik avatar paulhibbitts avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

grav-theme-learn2-git-sync's Issues

Enhancement Question

This theme is near perfect for what I want to use it for - open textbook. Have been looking at Jupiter books, and I love following features:

  • the ability to collapse the sidebar
  • have subsections of a single page (probably headers) as a right sidebar
  • PDF and epub export

Has this been discussed for Learn2 yet?

New to grav themes but would love to help out!

Built with Grav link is not displayed correctly

The text displayed on the bottom of the sidebar is as follows:
Built with <a href="http://getgrav.org">Grav</a> - The Modern Flat File CMS

There is no clickable link, it is displaying the text literally.

If I edit templates/partials/sidebar.html.twig and add |raw to the variable expansion, it works:
<p>{{ 'THEME_LEARN2_BUILT_WITH_GRAV'|t|raw }}</p>

That displays a clickable link:
Built with Grav - The Modern Flat File CMS

I suspect that's a bug, but it's also very possible I have something else configured wrong, thus requiring the use of raw?

Thanks for checking.

Bug in Advanced Fulltext Search: Wrong URL

The advanced fulltext search directs to /tntsearch resulting in a 404 Not Found. It should be /search instead. The advanced search is achieved by calling /search/query:some keyword.

Dynamic Page Visibility

I'm with a fresh install of Grav using Learn2-Git-Sync, and I'm having trouble creating a folder with private information on in. I was able to make the parent page hold the rules and all the pages on the folder follow the same rules (parent_acl), but I can't find a way to make those pages hidden when the user is not logged in. I've set dynamic_page_visibility to true or enabled everywhere I could find it, with no success :/

Slash is not added at the end of a custom git repository url for the "Edit this page" link

Steps to reproduce:

Set the git remote url to "others" with the repo url without a slash at the end.
e.g. http://tfs-host.com/tfs/MyCollection/MyProject/_git/wiki

Open a page and click on the "Edit this Page" link.

Expected result:
Link should be http://tfs-host.com/tfs/MyCollection/MyProject/_git/wiki/blob/master/pages

Actual Result:
Link is http://tfs-host.com/tfs/MyCollection/MyProject/_git/wikiblob/master/pages

Workaround:
Add a slash in the repo url
http://tfs-host.com/tfs/MyCollection/MyProject/_git/wiki/

BTW, it is not happening with github.

Blank space in all my code blocks

If I create a multiple line code blocks I see a blank space on the first line. I can't figure out why and it's driving me crazy :) Any thoughts?

For example all my code looks like this:

 blaa -blaa -blaa
Testing 123 test test

NOTE: I'm intentionally putting a space in here to describe what I'm seeing.

Missing logout link

This may be more of a feature request than an issue.

When you login to the site as a normal user (NOT the admin panel), there is no way to logout again. The quark theme has a logout link, but Learn2/Learn2-git-sync do not.

See this for more info.

While I have already added a custom theme which inherits this theme with the suggested changes, it might be handy to have it show up by default (or perhaps an option).

This is what I added to put the logout link in the sidebar, just above the "Built with" text:

templates/partials/sidebar.html.twig (added between the footer and feed link):

{# Added by Tim M. - adds a logout link to the sidebar #}
            {% if config.plugins.login.enabled and grav.user.username %} <span class="login-status-wrapper"><i class="fa fa-user"></i> {% include 'partials/login-status.html.twig' %}</span><br><br> {% endif %}
{# Ends the logout link code #}

The bottom part of the file looks like this:

        <a class="padding" href="#" data-clear-history-toggle><i
                    class="fa fa-fw fa-history"></i> {{ 'THEME_LEARN2_CLEAR_HISTORY'|t }}</a><br/>
        <section id="footer">
{# Added by Timinator - adds a logout link to the sidebar #}
            {% if config.plugins.login.enabled and grav.user.username %} <span class="login-status-wrapper"><i class="fa fa-user"></i> {% include 'partials/login-status.html.twig' %}</span><br><br> {% endif %}
{# Ends the logout link code #}
            {% if config.plugins.feed.enabled and pages.find('/feed') %}
              <a class="button" href="{{ base_url }}/feed.atom"><i class="fa fa-rss-square"></i> Atom 1.0</a>
              <a class="button" href="{{ base_url }}/feed.rss"><i class="fa fa-rss-square"></i> RSS</a><br><br>
            {% endif %}
            <p>{{ 'THEME_LEARN2_BUILT_WITH_GRAV'|t|raw }}</p>
        </section>
    </div>
</div>

Multisite compatibility

Hi,

This is a followup of #13. I think I delved too far in the rabbit hole. :)
There are other instances of code that prevent full compatibility with multisites.

For example in templates/partials/github_link.html.twig:

{% set git_repo_edit_link_url = git_repo_link_url ~  ('/'~page.filePathClean)|replace({'/user/':'/'}) %}

would output:
https://github.com/REPO/blob/master/sites/SUBSITE/pages/01.install/docs.md
while the correct link would have been:
https://github.com/REPO/blob/master/pages/01.install/docs.md

I am not fluent enough in Twig, so I hacked the code like this for my own convenience:

{% set git_repo_edit_link_url = git_sync_repo_link ~ 'blob/master' ~ ('/pages'~('/'~page.filePathClean)|split('/pages').1) %}

I guess there are smarter ways to do so, maybe by relying on local_repository key in the config or retrieving the actual user:// path for the subsite and removing it from page.filePathClean?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.