diff --git a/_config.yml b/_config.yml index a09067082833b73ec56343a3d45170ce95c9c2af..3820644eaec09cf277300f6a79764b54dce2c0af 100644 --- a/_config.yml +++ b/_config.yml @@ -38,15 +38,28 @@ aux_links: "Just the Docs on GitHub": - "//github.com/pmarsceill/just-the-docs" -# Footer content appears at the bottom of every page's main content +# Footer content +# appears at the bottom of every page's main content footer_content: "Copyright © 2017-2019 Patrick Marsceill. Distributed by an <a href=\"https://github.com/pmarsceill/just-the-docs/tree/master/LICENSE.txt\">MIT license.</a>" +# Footer last edited timestamp +last_edit_timestamp: true # show or hide edit time - page must have `last_modified_date` defined in the frontmatter +last_edit_time_format: "%b %e %Y at %I:%M %p" # uses ruby's time format: https://ruby-doc.org/stdlib-2.7.0/libdoc/time/rdoc/Time.html + +# Footer "Edit this page on GitHub" link text +gh_edit_link: true # show or hide edit this page link +gh_edit_link_text: "Edit this page on GitHub." +gh_edit_repository: "https://github.com/pmarsceill/just-the-docs" # the github URL for your repo +gh_edit_branch: "master" # the branch that your docs is served from +gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately + # Color scheme currently only supports "dark" or nil (default) color_scheme: nil # Google Analytics Tracking (optional) # e.g, UA-1234567-89 ga_tracking: UA-2709176-10 +ga_tracking_anonymize_ip: true # Use GDPR compliant Google Analytics settings (true by default) plugins: - jekyll-seo-tag diff --git a/_includes/head.html b/_includes/head.html index eae6a5e9f04f6906147a224afe162124ff7b8835..a419dabf5e7cc71c49ff380eb9378bcadb6ada66 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -2,13 +2,13 @@ <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> - {% if site.plugins.jekyll-seo == nil %} + {% unless site.plugins contains "jekyll-seo-tag" %} <title>{{ page.title }} - {{ site.title }}</title> {% if page.description %} <meta name="Description" content="{{ page.description }}"> {% endif %} - {% endif %} + {% endunless %} <link rel="shortcut icon" href="{{ 'favicon.ico' | absolute_url }}" type="image/x-icon"> @@ -21,7 +21,7 @@ function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', "{{ site.ga_tracking }}"); + gtag('config', '{{ site.ga_tracking }}'{% unless site.ga_tracking_anonymize_ip == nil %}, { 'anonymize_ip': true }{% endunless %}); </script> {% endif %} diff --git a/_includes/nav.html b/_includes/nav.html index d561a42a70b3e473f7ba41283965751423b7917b..8042aa48a2130252e06c04230b993e0471ecfb3d 100644 --- a/_includes/nav.html +++ b/_includes/nav.html @@ -13,22 +13,26 @@ {%- assign children_list = site.html_pages | where: "parent", node.title | sort:"nav_order" -%} <ul class="navigation-list-child-list "> {%- for child in children_list -%} - <li class="navigation-list-item {% if page.url == child.url or page.parent == child.title %} active{% endif %}"> - {%- if page.url == child.url or page.parent == child.title -%} - {%- assign second_level_url = child.url | absolute_url -%} - {%- endif -%} - <a href="{{ child.url | absolute_url }}" class="navigation-list-link{% if page.url == child.url %} active{% endif %}">{{ child.title }}</a> - {%- if child.has_children -%} - {%- assign grand_children_list = site.html_pages | where: "parent", child.title | sort:"nav_order" -%} - <ul class="navigation-list-child-list"> - {%- for grand_child in grand_children_list -%} - <li class="navigation-list-item {% if page.url == grand_child.url %} active{% endif %}"> - <a href="{{ grand_child.url | absolute_url }}" class="navigation-list-link{% if page.url == grand_child.url %} active{% endif %}">{{ grand_child.title }}</a> - </li> - {%- endfor -%} - </ul> - {%- endif -%} - </li> + {%- unless child.nav_exclude -%} + <li class="navigation-list-item {% if page.url == child.url or page.parent == child.title %} active{% endif %}"> + {%- if page.url == child.url or page.parent == child.title -%} + {%- assign second_level_url = child.url | absolute_url -%} + {%- endif -%} + <a href="{{ child.url | absolute_url }}" class="navigation-list-link{% if page.url == child.url %} active{% endif %}">{{ child.title }}</a> + {%- if child.has_children -%} + {%- assign grand_children_list = site.html_pages | where: "parent", child.title | sort:"nav_order" -%} + <ul class="navigation-list-child-list"> + {%- for grand_child in grand_children_list -%} + {%- unless grand_child.nav_exclude -%} + <li class="navigation-list-item {% if page.url == grand_child.url %} active{% endif %}"> + <a href="{{ grand_child.url | absolute_url }}" class="navigation-list-link{% if page.url == grand_child.url %} active{% endif %}">{{ grand_child.title }}</a> + </li> + {%- endunless -%} + {%- endfor -%} + </ul> + {%- endif -%} + </li> + {%- endunless -%} {%- endfor -%} </ul> {%- endif -%} diff --git a/_layouts/default.html b/_layouts/default.html index b1d3c72435399b13422a79b7a36b51258cb5e8cf..13a860f354fb83b2a5903170199a701b42ec1e0d 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -86,10 +86,29 @@ layout: table_wrappers </ul> {% endif %} - {% if site.footer_content != nil %} + {% if site.footer_content != nil or site.show_last_edit_time or site.show_gh_edit_link %} <hr> <footer role="contentinfo"> + {% if site.last_edit_timestamp and site.last_edit_time_format and page.last_modified_date %} + <p class="text-small text-grey-dk-000 mb-0"> + Page last modified: {{ page.last_modified_date | date: site.last_edit_time_format }}. + </p> + {% endif %} + {% + if + site.gh_edit_link and + site.gh_edit_link_text and + site.gh_edit_repository and + site.gh_edit_view_mode and + site.gh_edit_branch + %} + <p class="text-small text-grey-dk-000 mb-0"> + <a href="{{ site.gh_edit_repository }}/{{site.gh_edit_view_mode}}/{{site.gh_edit_branch}}/{{ page.path }}">{{ site.edit_link_text }}</a> + </p> + {% endif %} + {% if site.footer_content != nil %} <p class="text-small text-grey-dk-000 mb-0">{{ site.footer_content }}</p> + {% endif %} </footer> {% endif %} diff --git a/docs/configuration.md b/docs/configuration.md index eb43a086f9572ed1fb249ab1fc483eeb0929dba3..d29d599678494c496d7b964baf08ba7dd16a6068 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -63,10 +63,28 @@ heading_anchors: true ## Footer content ```yaml -# Footer content appears at the bottom of every page's main content +# Footer content +# appears at the bottom of every page's main content footer_content: "Copyright © 2017-2019 Patrick Marsceill. Distributed by an <a href=\"https://github.com/pmarsceill/just-the-docs/tree/master/LICENSE.txt\">MIT license.</a>" + +# Footer last edited timestamp +last_edit_timestamp: true # show or hide edit time - page must have `last_modified_date` defined in the frontmatter +last_edit_time_format: "%b %e %Y at %I:%M %p" # uses ruby's time format: https://ruby-doc.org/stdlib-2.7.0/libdoc/time/rdoc/Time.html + +# Footer "Edit this page on GitHub" link text +gh_edit_link: true # show or hide edit this page link +gh_edit_link_text: "Edit this page on GitHub." +gh_edit_repository: "https://github.com/pmarsceill/just-the-docs" # the github URL for your repo +gh_edit_branch: "master" # the branch that your docs is served from +gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately ``` +- the "page last modified" data will only display if a page has a key called `last_modified_date`, formatted in some readable date format +- `last_edit_time_format` uses Ruby's DateTime formatter; see examples and more information [at this link.](https://apidock.com/ruby/DateTime/strftime) +- `gh_edit_repository` is the URL of the project's GitHub repository +- `gh_edit_branch` is the branch that the docs site is served from; defaults to `master` +- `gh_edit_view_mode` is `"tree"` by default, which brings the user to the github page; switch to `"edit"` to bring the user directly into editing mode + ## Color scheme ```yaml @@ -85,4 +103,5 @@ See [Customization]({{ site.baseurl }}{% link docs/customization.md %}) for more # Google Analytics Tracking (optional) # e.g, UA-1234567-89 ga_tracking: UA-5555555-55 +ga_tracking_anonymize_ip: true # Use GDPR compliant Google Analytics settings (true by default) ``` diff --git a/just-the-docs.gemspec b/just-the-docs.gemspec index a426d4e1eca5d6781ddd45096aeffd9779dd575d..239b47932f55d72552def6a51af15f36ab909e87 100644 --- a/just-the-docs.gemspec +++ b/just-the-docs.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |spec| spec.name = "just-the-docs" - spec.version = "0.2.8" + spec.version = "0.2.9" spec.authors = ["Patrick Marsceill"] spec.email = ["patrick.marsceill@gmail.com"] @@ -13,7 +13,7 @@ Gem::Specification.new do |spec| spec.files = `git ls-files -z`.split("\x0").select { |f| f.match(%r{^(assets|bin|_layouts|_includes|lib|Rakefile|_sass|LICENSE|README)}i) } spec.executables << 'just-the-docs' - spec.add_runtime_dependency "bundler", "~> 2.1.4" + spec.add_development_dependency "bundler", "~> 2.1.4" spec.add_runtime_dependency "jekyll", ">= 3.8.5", "< 4.1.0" spec.add_runtime_dependency "jekyll-seo-tag", "~> 2.0" spec.add_runtime_dependency "rake", ">= 12.3.1", "< 13.1.0" diff --git a/package.json b/package.json index a9fd8e12ba63e5f492b5c6db6a01b100e5fc2537..c2ab5fffef3f6a3059ac012537c36f32b9dee5d7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "just-the-docs", - "version": "0.2.8", + "version": "0.2.9", "description": "A modern Jekyll theme for documentation", "repository": "pmarsceill/just-the-docs", "license": "MIT",