diff --git a/.github/main.workflow b/.github/main.workflow deleted file mode 100644 index 0092597..0000000 --- a/.github/main.workflow +++ /dev/null @@ -1,26 +0,0 @@ -workflow "Publish to RubyGems" { - on = "release" - resolves = [ - "Publish to GPR", - "Publish to Ruby Gems", - ] -} - -action "Build from Gemspec" { - uses = "scarhand/actions-ruby@master" - runs = "gem build just-the-docs.gemspec" -} - -action "Publish to Ruby Gems" { - uses = "scarhand/actions-ruby@master" - needs = ["Build from Gemspec"] - runs = "gem push *.gem" - secrets = ["RUBYGEMS_AUTH_TOKEN"] -} - -action "Publish to GPR" { - uses = "scarhand/actions-ruby@master" - needs = ["Build from Gemspec"] - secrets = ["GPR_AUTH_TOKEN"] - runs = " gem push --key [\"GPR_AUTH_TOKEN\"] --host https://rubygems.pkg.github.com/pmarsceill *.gem" -} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..340f60b --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,35 @@ +on: [push] + +name: CI + +jobs: + + jekyll: + name: Build Jekyll site + runs-on: ubuntu-latest + steps: + + - uses: actions/checkout@master + + - name: Build the site in the jekyll/builder container + run: | + docker run --rm \ + --volume="${{ github.workspace }}:/srv/jekyll" \ + jekyll/builder:3.8.5 /bin/bash -c "chmod 777 /srv/jekyll && jekyll build" + + css: + name: Stylelint + runs-on: ubuntu-latest + steps: + + - uses: actions/checkout@master + + - name: Use Node.js 10.x + uses: actions/setup-node@v1 + with: + version: 10.x + + - name: npm install, build, and test + run: | + npm install + npm test diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..bba33db --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,39 @@ +name: Publish Gem + +on: [release] + +jobs: + build: + name: Build + Publish + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@master + - name: Set up Ruby 2.6 + uses: actions/setup-ruby@v1 + with: + version: 2.6.x + + - name: Publish to GPR + run: | + mkdir -p $HOME/.gem + touch $HOME/.gem/credentials + chmod 0600 $HOME/.gem/credentials + printf -- "---\n:github: Bearer ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials + gem build just-the-docs.gemspec + gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem + env: + GEM_HOST_API_KEY: ${{secrets.GPR_AUTH_TOKEN}} + OWNER: pmarsceill + + - name: Publish to RubyGems + run: | + mkdir -p $HOME/.gem + touch $HOME/.gem/credentials + chmod 0600 $HOME/.gem/credentials + printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials + gem build just-the-docs.gemspec + gem push *.gem + env: + GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}} + diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index f9fa81d..0000000 --- a/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ -language: ruby -rvm: - - 2.3.0 -env: - - TRAVIS_NODE_VERSION="9.3.0" - -install: - - npm install - - gem install bundler --version '>=1.17.1' - - bundle install - -script: - - npm run test - - bundle exec jekyll build diff --git a/_config.yml b/_config.yml index 4b93827..6470c0e 100644 --- a/_config.yml +++ b/_config.yml @@ -24,11 +24,17 @@ exclude: ["node_modules/", "*.gemspec", "*.gem", "Gemfile", "Gemfile.lock", "pac # Enable or disable the site search search_enabled: true +# Enable or disable heading anchors +heading_anchors: true + # Aux links for the upper right navigation 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: "Copyright © 2017-2019 Patrick Marsceill. Distributed by an MIT license." + # Color scheme currently only supports "dark" or nil (default) color_scheme: nil @@ -37,4 +43,12 @@ color_scheme: nil ga_tracking: UA-2709176-10 plugins: - - jekyll-seo-tag \ No newline at end of file + - jekyll-seo-tag + +compress_html: + clippings: all + comments: all + endings: all + startings: [] + blank_lines: false + profile: false diff --git a/_includes/head.html b/_includes/head.html index 13cdbaf..7aa7abb 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -6,29 +6,35 @@ {{ page.title }} - {{ site.title }} {% if page.description %} - + {% endif %} {% endif %} - + - + {% if site.ga_tracking != nil %} + - + {% endif %} {% if site.search_enabled != nil %} - + {% endif %} - + -{% seo %} + {% seo %} + + {% include head_custom.html %} + diff --git a/_includes/head_custom.html b/_includes/head_custom.html new file mode 100644 index 0000000..e69de29 diff --git a/_includes/js/custom.js b/_includes/js/custom.js new file mode 100644 index 0000000..e69de29 diff --git a/_includes/nav.html b/_includes/nav.html index 2c4bf1e..d561a42 100644 --- a/_includes/nav.html +++ b/_includes/nav.html @@ -1,44 +1,40 @@ diff --git a/_includes/title.html b/_includes/title.html new file mode 100644 index 0000000..f6d5669 --- /dev/null +++ b/_includes/title.html @@ -0,0 +1 @@ +{{ site.title }} \ No newline at end of file diff --git a/_includes/vendor/anchor_headings.html b/_includes/vendor/anchor_headings.html new file mode 100755 index 0000000..25397df --- /dev/null +++ b/_includes/vendor/anchor_headings.html @@ -0,0 +1,100 @@ +{% capture headingsWorkspace %} + {% comment %} + Version 1.0.3 + https://github.com/allejo/jekyll-anchor-headings + + "Be the pull request you wish to see in the world." ~Ben Balter + + Usage: + {% include anchor_headings.html html=content %} + + Parameters: + * html (string) - the HTML of compiled markdown generated by kramdown in Jekyll + + Optional Parameters: + * beforeHeading (bool) : false - Set to true if the anchor should be placed _before_ the heading's content + * anchorBody (string) : '' - The content that will be placed inside the anchor; the `%heading%` placeholder is available + * anchorClass (string) : '' - The class(es) that will be used for each anchor. Separate multiple classes with a space + * anchorTitle (string) : '' - The `title` attribute that will be used for anchors + * h_min (int) : 1 - The minimum header level to build an anchor for; any header lower than this value will be ignored + * h_max (int) : 6 - The maximum header level to build an anchor for; any header greater than this value will be ignored + * bodyPrefix (string) : '' - Anything that should be inserted inside of the heading tag _before_ its anchor and content + * bodySuffix (string) : '' - Anything that should be inserted inside of the heading tag _after_ its anchor and content + + Output: + The original HTML with the addition of anchors inside of all of the h1-h6 headings. + {% endcomment %} + + {% assign minHeader = include.h_min | default: 1 %} + {% assign maxHeader = include.h_max | default: 6 %} + {% assign beforeHeading = include.beforeHeading %} + {% assign nodes = include.html | split: ' + {% if headerLevel == 0 %} + {% if nextChar != '<' and nextChar != '' %} + {% capture node %}' | first }}>{% endcapture %} + {% assign header = _workspace[0] | replace: _hAttrToStrip, '' %} + + + {% capture anchor %}{% endcapture %} + + {% if html_id and headerLevel >= minHeader and headerLevel <= maxHeader %} + {% capture anchor %}href="#{{ html_id}}"{% endcapture %} + + {% if include.anchorClass %} + {% capture anchor %}{{ anchor }} class="{{ include.anchorClass }}"{% endcapture %} + {% endif %} + + {% if include.anchorTitle %} + {% capture anchor %}{{ anchor }} title="{{ include.anchorTitle | replace: '%heading%', header }}"{% endcapture %} + {% endif %} + + {% capture anchor %}{{ include.anchorBody | replace: '%heading%', header | default: '' }}{% endcapture %} + + + {% if beforeHeading %} + {% capture anchor %}{{ anchor }} {% endcapture %} + {% else %} + {% capture anchor %} {{ anchor }}{% endcapture %} + {% endif %} + {% endif %} + + {% capture new_heading %} + @@ -6,20 +10,23 @@
-