~xdavidwu/xdavidwu.link

678aecdd6161e80495eb8398247c0f8423f71cf1 — Michael Rose 8 years ago e52c062
Build navigation list include helper
- Update navigation.yml to support multiple navigations and levels
- Optional include navigation into left sidebar
5 files changed, 157 insertions(+), 14 deletions(-)

A _data/docs.yml
M _data/navigation.yml
M _includes/masthead.html
A _includes/nav_list.html
M _includes/sidebar.html
A _data/docs.yml => _data/docs.yml +56 -0
@@ 0,0 1,56 @@
- title: Getting Started
  children:
    - title: "Quick Start Guide"
      path: quick-start-guide
    - title: "Installation"
      path: installation
    - title: "Upgrading"
      path: upgrading
    - title: "Structure"
      path: structure

- title: Customization
  children:
    - title: "Configuration"
      path: configuration
    - title: "Navigation"
      path: navigation
    - title: "Authors"
      path: authors
    - title: "UI Text"
      path: ui-text
    - title: "Layouts"
      path: layouts

- title: Content
  children:
    - title: "Working with Posts"
      path: working-with-posts
    - title: "Working with Pages"
      path: working-with-pages
    - title: "Working with Collections"
      path: working-with-collections
    - title: "Jekyll Include Helpers"
      path: include-helpers
    - title: "Images"
      path: images

- title: Miscellaneous
  children:
    - title: "Pagination"
      path: pagination
    - title: "Archives"
      path: archives
    - title: "Development"
      path: development
    - title: "v2 Documentation"
      path: docs-2

- title: Meta
  children:
    - title: "Contributing"
      path: contributing
    - title: "License"
      path: license
    - title: "History"
      path: history
\ No newline at end of file

M _data/navigation.yml => _data/navigation.yml +73 -13
@@ 1,19 1,79 @@
# Site navigation links
# main links links
main:
  - title: "Theme Setup"
    url: /theme-setup/

- title: "Theme Setup"
  url: /theme-setup/
  - title: "Posts"
    url: /year-archive/

- title: "Posts"
  url: /year-archive/
  - title: "Categories"
    url: /categories/

- title: "Categories"
  url: /categories/
  - title: "Tags"
    url: /tags/

- title: "Tags"
  url: /tags/
  - title: "Pages"
    url: /page-archive/

- title: "Pages"
  url: /page-archive/
  - title: "Collections"
    url: /collection-archive/

- title: "Collections"
  url: /collection-archive/
\ No newline at end of file

# documentation links
docs:
  - title: Getting Started
    children:
      - title: "Quick Start Guide"
        path: quick-start-guide
      - title: "Installation"
        path: installation
      - title: "Upgrading"
        path: upgrading
      - title: "Structure"
        path: structure

  - title: Customization
    children:
      - title: "Configuration"
        path: configuration
      - title: "Navigation"
        path: navigation
      - title: "Authors"
        path: authors
      - title: "UI Text"
        path: ui-text
      - title: "Layouts"
        path: layouts

  - title: Content
    children:
      - title: "Working with Posts"
        path: working-with-posts
      - title: "Working with Pages"
        path: working-with-pages
      - title: "Working with Collections"
        path: working-with-collections
      - title: "Jekyll Include Helpers"
        path: include-helpers
      - title: "Images"
        path: images

  - title: Miscellaneous
    children:
      - title: "Pagination"
        path: pagination
      - title: "Archives"
        path: archives
      - title: "Development"
        path: development
      - title: "v2 Documentation"
        path: docs-2

  - title: Meta
    children:
      - title: "Contributing"
        path: contributing
      - title: "License"
        path: license
      - title: "History"
        path: history
\ No newline at end of file

M _includes/masthead.html => _includes/masthead.html +1 -1
@@ 7,7 7,7 @@
    <nav id="site-nav" class="greedy-nav">
      <button><div class="navicon"></div></button>
      <ul class="visible-links">
        {% for link in site.data.navigation %}
        {% for link in site.data.navigation.main %}
          {% if link.url contains 'http' %}
            {% assign domain = '' %}
            {% else %}

A _includes/nav_list.html => _includes/nav_list.html +24 -0
@@ 0,0 1,24 @@
{% include base_path %}
{% assign navigation = site.data.navigation[page.sidebar.nav] %}

<nav>
  <ul>
    {% for nav in navigation %}
      <li>{{ nav.title }}
        {% if nav.children != null %}
        <ul>
          {% for child in nav.children %}
            {% assign nav_url = child.path | prepend: "/" | prepend: page.sidebar.nav | prepend: "/" | append: "/" | prepend: base_path %}
            {% if nav_url contains page.url %}
              {% assign c = "current" %}
            {% else %}
              {% assign c = "" %}
            {% endif %}
            <li><a href="{{ nav_url }}" class="{{ c }}">{{ child.title }}</a></li>
          {% endfor %}
        </ul>
        {% endif %}
      </li>
    {% endfor %}
  </ul>
</nav>
\ No newline at end of file

M _includes/sidebar.html => _includes/sidebar.html +3 -0
@@ 15,6 15,9 @@
      {% if s.title %}<h3>{{ s.title }}</h3>{% endif %}
      {% if s.text %}{{ s.text | markdownify }}{% endif %}
    {% endfor %}
    {% if page.sidebar.nav %}
      {% include nav_list.html items=page.sidebar.nav %}
    {% endif %}
  {% endif %}
  </div>
{% endif %}
\ No newline at end of file