commit 215dcde733cbbc537dc287858ed644e0dd70fd37 Author: Øyvind Skaaden Date: Sat Aug 15 17:02:14 2020 +0200 Added theme diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..96a0234 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,3 @@ +# Require maintainer's :+1: for changes to the .github/ repo-config files +# mainly due to https://github.com/probot/settings privilege escalation +.github/* @pages-themes/maintainers diff --git a/.github/config.yml b/.github/config.yml new file mode 100644 index 0000000..23911ec --- /dev/null +++ b/.github/config.yml @@ -0,0 +1,20 @@ +# Behaviorbot config. See https://github.com/behaviorbot/ for more information. +# Note: Please Don't edit this file directly. +# Edit https://github.com/pages-themes/maintenance-scripts instead. + +# Configuration for update-docs - https://github.com/behaviorbot/update-docs +updateDocsComment: "Thanks for the pull request! If you are making any changes to the user-facing functionality, please be sure to update the documentation in the `README` or `docs/` folder alongside your change. :heart:" + +# Configuration for request-info - https://github.com/behaviorbot/request-info +requestInfoReplyComment: Thanks for this. Do you mind providing a bit more information about what problem you're trying to solve? +requestInfoLabelToAdd: more-information-needed + +# Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome +#newIssueWelcomeComment: > +# Welcome! + +# Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome +newPRWelcomeComment: Welcome! Congrats on your first pull request to the Minimal theme. If you haven't already, please be sure to check out [the contributing guidelines](https://github.com/pages-themes/minimal/blob/master/docs/CONTRIBUTING.md). + +# Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge +firstPRMergeComment: "Congrats on getting your first pull request to the Minimal theme merged! Without amazing humans like you submitting pull requests, we couldn’t run this project. You rock! :tada:

If you're interested in tackling another bug or feature, take a look at [the open issues](https://github.com/pages-themes/minimal/issues), especially those [labeled `help wanted`](https://github.com/pages-themes/minimal/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)." diff --git a/.github/no-response.yml b/.github/no-response.yml new file mode 100644 index 0000000..7193eaa --- /dev/null +++ b/.github/no-response.yml @@ -0,0 +1,13 @@ +# Configuration for probot-no-response - https://github.com/probot/no-response + +# Number of days of inactivity before an Issue is closed for lack of response +daysUntilClose: 14 +# Label requiring a response +responseRequiredLabel: more-information-needed +# Comment to post when closing an Issue for lack of response. Set to `false` to disable +closeComment: > + This issue has been automatically closed because there has been no response + to our request for more information from the original author. With only the + information that is currently in the issue, we don't have enough information + to take action. Please reach out if you have or find the answers we need so + that we can investigate further. diff --git a/.github/settings.yml b/.github/settings.yml new file mode 100644 index 0000000..4208159 --- /dev/null +++ b/.github/settings.yml @@ -0,0 +1,31 @@ +# Repository settings set via https://github.com/probot/settings + +repository: + has_issues: true + has_wiki: false + has_projects: false + has_downloads: false + +labels: + - name: help wanted + oldname: help-wanted + color: 0e8a16 + - name: more-information-needed + color: d93f0b + - name: bug + color: b60205 + - name: feature + color: 1d76db + - name: good first issue + color: "5319e7" + +# Not currently implemented by probot/settings, but manually implemented in script/deploy +branch_protection: + restrictions: null + enforce_admins: false + required_status_checks: + strict: true + contexts: + - "continuous-integration/travis-ci" + required_pull_request_reviews: + require_code_owner_reviews: true diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 0000000..a1aa17e --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,27 @@ +# Configuration for probot-stale - https://github.com/probot/stale + +# Number of days of inactivity before an Issue or Pull Request becomes stale +daysUntilStale: 60 + +# Number of days of inactivity before a stale Issue or Pull Request is closed +daysUntilClose: 7 + +# Issues or Pull Requests with these labels will never be considered stale +exemptLabels: + - pinned + - security + +# Label to use when marking as stale +staleLabel: wontfix + +# Comment to post when marking as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. + +# Comment to post when closing a stale Issue or Pull Request. Set to `false` to disable +closeComment: false + +# Limit to only `issues` or `pulls` +# only: issues diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..a905595 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,14 @@ +on: push +jobs: + build: + runs-on: ubuntu-latest + name: script/cibuild + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-ruby@v1 + with: + ruby-version: 2.7 + - name: build + run: script/bootstrap + - name: test + run: script/cibuild \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c972ab --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +_site +.sass-cache +Gemfile.lock +*.gem diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 0000000..648dfb1 --- /dev/null +++ b/.rubocop.yml @@ -0,0 +1,6 @@ +AllCops: + Exclude: + - _site/**/* + +Metrics/LineLength: + Enabled: false diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..a871f2a --- /dev/null +++ b/.travis.yml @@ -0,0 +1,6 @@ +language: ruby +cache: bundler +rvm: 2.6 + +install: script/bootstrap +script: script/cibuild diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..7f4f5e9 --- /dev/null +++ b/Gemfile @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +source 'https://rubygems.org' + +gemspec diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..670154e --- /dev/null +++ b/LICENSE @@ -0,0 +1,116 @@ +CC0 1.0 Universal + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator and +subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for the +purpose of contributing to a commons of creative, cultural and scientific +works ("Commons") that the public can reliably and without fear of later +claims of infringement build upon, modify, incorporate in other works, reuse +and redistribute as freely as possible in any form whatsoever and for any +purposes, including without limitation commercial purposes. These owners may +contribute to the Commons to promote the ideal of a free culture and the +further production of creative, cultural and scientific works, or to gain +reputation or greater distribution for their Work in part through the use and +efforts of others. + +For these and/or other purposes and motivations, and without any expectation +of additional consideration or compensation, the person associating CC0 with a +Work (the "Affirmer"), to the extent that he or she is an owner of Copyright +and Related Rights in the Work, voluntarily elects to apply CC0 to the Work +and publicly distribute the Work under its terms, with knowledge of his or her +Copyright and Related Rights in the Work and the meaning and intended legal +effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not limited +to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, communicate, + and translate a Work; + + ii. moral rights retained by the original author(s) and/or performer(s); + + iii. publicity and privacy rights pertaining to a person's image or likeness + depicted in a Work; + + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + + v. rights protecting the extraction, dissemination, use and reuse of data in + a Work; + + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation thereof, + including any amended or successor version of such directive); and + + vii. other similar, equivalent or corresponding rights throughout the world + based on applicable law or treaty, and any national implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention of, +applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and +unconditionally waives, abandons, and surrenders all of Affirmer's Copyright +and Related Rights and associated claims and causes of action, whether now +known or unknown (including existing as well as future claims and causes of +action), in the Work (i) in all territories worldwide, (ii) for the maximum +duration provided by applicable law or treaty (including future time +extensions), (iii) in any current or future medium and for any number of +copies, and (iv) for any purpose whatsoever, including without limitation +commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes +the Waiver for the benefit of each member of the public at large and to the +detriment of Affirmer's heirs and successors, fully intending that such Waiver +shall not be subject to revocation, rescission, cancellation, termination, or +any other legal or equitable action to disrupt the quiet enjoyment of the Work +by the public as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason be +judged legally invalid or ineffective under applicable law, then the Waiver +shall be preserved to the maximum extent permitted taking into account +Affirmer's express Statement of Purpose. In addition, to the extent the Waiver +is so judged Affirmer hereby grants to each affected person a royalty-free, +non transferable, non sublicensable, non exclusive, irrevocable and +unconditional license to exercise Affirmer's Copyright and Related Rights in +the Work (i) in all territories worldwide, (ii) for the maximum duration +provided by applicable law or treaty (including future time extensions), (iii) +in any current or future medium and for any number of copies, and (iv) for any +purpose whatsoever, including without limitation commercial, advertising or +promotional purposes (the "License"). The License shall be deemed effective as +of the date CC0 was applied by Affirmer to the Work. Should any part of the +License for any reason be judged legally invalid or ineffective under +applicable law, such partial invalidity or ineffectiveness shall not +invalidate the remainder of the License, and in such case Affirmer hereby +affirms that he or she will not (i) exercise any of his or her remaining +Copyright and Related Rights in the Work or (ii) assert any associated claims +and causes of action with respect to the Work, in either case contrary to +Affirmer's express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + + b. Affirmer offers the Work as-is and makes no representations or warranties + of any kind concerning the Work, express, implied, statutory or otherwise, + including without limitation warranties of title, merchantability, fitness + for a particular purpose, non infringement, or the absence of latent or + other defects, accuracy, or the present or absence of errors, whether or not + discoverable, all to the greatest extent permissible under applicable law. + + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without limitation + any person's Copyright and Related Rights in the Work. Further, Affirmer + disclaims responsibility for obtaining any necessary consents, permissions + or other rights required for any use of the Work. + + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to this + CC0 or use of the Work. + +For more information, please see + diff --git a/README.md b/README.md new file mode 100644 index 0000000..c53707b --- /dev/null +++ b/README.md @@ -0,0 +1,93 @@ +# The Minimal theme + +[![Build Status](https://travis-ci.org/pages-themes/minimal.svg?branch=master)](https://travis-ci.org/pages-themes/minimal) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-minimal.svg)](https://badge.fury.io/rb/jekyll-theme-minimal) + +*Minimal is a Jekyll theme for GitHub Pages. You can [preview the theme to see what it looks like](http://pages-themes.github.io/minimal), or even [use it today](#usage).* + +![Thumbnail of minimal](thumbnail.png) + +## Usage + +To use the Minimal theme: + +1. Add the following to your site's `_config.yml`: + + ```yml + theme: jekyll-theme-minimal + ``` + +2. Optionally, if you'd like to preview your site on your computer, add the following to your site's `Gemfile`: + + ```ruby + gem "github-pages", group: :jekyll_plugins + ``` + + + +## Customizing + +### Configuration variables + +Minimal will respect the following variables, if set in your site's `_config.yml`: + +```yml +title: [The title of your site] +description: [A short description of your site's purpose] +``` + +Additionally, you may choose to set the following optional variables: + +```yml +logo: [Location of the logo] +show_downloads: ["true" or "false" to indicate whether to provide a download URL] +google_analytics: [Your Google Analytics tracking ID] +``` + +### Stylesheet + +If you'd like to add your own custom styles: + +1. Create a file called `/assets/css/style.scss` in your site +2. Add the following content to the top of the file, exactly as shown: + ```scss + --- + --- + + @import "{{ site.theme }}"; + ``` +3. Add any custom CSS (or Sass, including imports) you'd like immediately after the `@import` line + +### Layouts + +If you'd like to change the theme's HTML layout: + +1. [Copy the original template](https://github.com/pages-themes/minimal/blob/master/_layouts/default.html) from the theme's repository
(*Pro-tip: click "raw" to make copying easier*) +2. Create a file called `/_layouts/default.html` in your site +3. Paste the default layout content copied in the first step +4. Customize the layout as you'd like + +## Roadmap + +See the [open issues](https://github.com/pages-themes/minimal/issues) for a list of proposed features (and known issues). + +## Project philosophy + +The Minimal theme is intended to make it quick and easy for GitHub Pages users to create their first (or 100th) website. The theme should meet the vast majority of users' needs out of the box, erring on the side of simplicity rather than flexibility, and provide users the opportunity to opt-in to additional complexity if they have specific needs or wish to further customize their experience (such as adding custom CSS or modifying the default layout). It should also look great, but that goes without saying. + +## Contributing + +Interested in contributing to Minimal? We'd love your help. Minimal is an open source project, built one contribution at a time by users like you. See [the CONTRIBUTING file](docs/CONTRIBUTING.md) for instructions on how to contribute. + +### Previewing the theme locally + +If you'd like to preview the theme locally (for example, in the process of proposing a change): + +1. Clone down the theme's repository (`git clone https://github.com/pages-themes/minimal`) +2. `cd` into the theme's directory +3. Run `script/bootstrap` to install the necessary dependencies +4. Run `bundle exec jekyll serve` to start the preview server +5. Visit [`localhost:4000`](http://localhost:4000) in your browser to preview the theme + +### Running tests + +The theme contains a minimal test suite, to ensure a site with the theme would build successfully. To run the tests, simply run `script/cibuild`. You'll need to run `script/bootstrap` one before the test script will work. diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..c90d804 --- /dev/null +++ b/_config.yml @@ -0,0 +1,6 @@ +title: Minimal theme +logo: /assets/img/logo.png +description: Minimal is a theme for GitHub Pages. +show_downloads: true +google_analytics: +theme: jekyll-theme-minimal diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..9ed409a --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,65 @@ + + + + + + + +{% seo %} + + + + +
+
+

{{ site.title | default: site.github.repository_name }}

+ + {% if site.logo %} + Logo + {% endif %} + +

{{ site.description | default: site.github.project_tagline }}

+ + {% if site.github.is_project_page %} +

View the Project on GitHub {{ site.github.repository_nwo }}

+ {% endif %} + + {% if site.github.is_user_page %} +

View My GitHub Profile

+ {% endif %} + + {% if site.show_downloads %} + + {% endif %} +
+
+ + {{ content }} + +
+ +
+ + {% if site.google_analytics %} + + {% endif %} + + diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100644 index 0000000..0676aff --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,14 @@ +--- +layout: default +--- + +{{ page.date | date: "%-d %B %Y" }} +

{{ page.title }}

+ +

by {{ page.author | default: site.author }}

+ +{{content}} + +{% if page.tags %} + tags: {{ page.tags | join: " - " }} +{% endif %} diff --git a/_sass/fonts.scss b/_sass/fonts.scss new file mode 100644 index 0000000..04c28e9 --- /dev/null +++ b/_sass/fonts.scss @@ -0,0 +1,55 @@ +@font-face { + font-family: 'Noto Sans'; + font-weight: 400; + font-style: normal; + src: url('../fonts/Noto-Sans-regular/Noto-Sans-regular.eot'); + src: url('../fonts/Noto-Sans-regular/Noto-Sans-regular.eot?#iefix') format('embedded-opentype'), + local('Noto Sans'), + local('Noto-Sans-regular'), + url('../fonts/Noto-Sans-regular/Noto-Sans-regular.woff2') format('woff2'), + url('../fonts/Noto-Sans-regular/Noto-Sans-regular.woff') format('woff'), + url('../fonts/Noto-Sans-regular/Noto-Sans-regular.ttf') format('truetype'), + url('../fonts/Noto-Sans-regular/Noto-Sans-regular.svg#NotoSans') format('svg'); +} + +@font-face { + font-family: 'Noto Sans'; + font-weight: 700; + font-style: normal; + src: url('../fonts/Noto-Sans-700/Noto-Sans-700.eot'); + src: url('../fonts/Noto-Sans-700/Noto-Sans-700.eot?#iefix') format('embedded-opentype'), + local('Noto Sans Bold'), + local('Noto-Sans-700'), + url('../fonts/Noto-Sans-700/Noto-Sans-700.woff2') format('woff2'), + url('../fonts/Noto-Sans-700/Noto-Sans-700.woff') format('woff'), + url('../fonts/Noto-Sans-700/Noto-Sans-700.ttf') format('truetype'), + url('../fonts/Noto-Sans-700/Noto-Sans-700.svg#NotoSans') format('svg'); +} + +@font-face { + font-family: 'Noto Sans'; + font-weight: 400; + font-style: italic; + src: url('../fonts/Noto-Sans-italic/Noto-Sans-italic.eot'); + src: url('../fonts/Noto-Sans-italic/Noto-Sans-italic.eot?#iefix') format('embedded-opentype'), + local('Noto Sans Italic'), + local('Noto-Sans-italic'), + url('../fonts/Noto-Sans-italic/Noto-Sans-italic.woff2') format('woff2'), + url('../fonts/Noto-Sans-italic/Noto-Sans-italic.woff') format('woff'), + url('../fonts/Noto-Sans-italic/Noto-Sans-italic.ttf') format('truetype'), + url('../fonts/Noto-Sans-italic/Noto-Sans-italic.svg#NotoSans') format('svg'); +} + +@font-face { + font-family: 'Noto Sans'; + font-weight: 700; + font-style: italic; + src: url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot'); + src: url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot?#iefix') format('embedded-opentype'), + local('Noto Sans Bold Italic'), + local('Noto-Sans-700italic'), + url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff2') format('woff2'), + url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff') format('woff'), + url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.ttf') format('truetype'), + url('../fonts/Noto-Sans-700italic/Noto-Sans-700italic.svg#NotoSans') format('svg'); +} diff --git a/_sass/jekyll-theme-minimal.scss b/_sass/jekyll-theme-minimal.scss new file mode 100644 index 0000000..916d195 --- /dev/null +++ b/_sass/jekyll-theme-minimal.scss @@ -0,0 +1,272 @@ +@import "fonts"; +@import "rouge-github"; + +body { + background-color: #fff; + padding:50px; + font: 14px/1.5 "Noto Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; + color:#727272; + font-weight:400; +} + +h1, h2, h3, h4, h5, h6 { + color:#222; + margin:0 0 20px; +} + +p, ul, ol, table, pre, dl { + margin:0 0 20px; +} + +h1, h2, h3 { + line-height:1.1; +} + +h1 { + font-size:28px; +} + +h2 { + color:#393939; +} + +h3, h4, h5, h6 { + color:#494949; +} + +a { + color:#267CB9; + text-decoration:none; +} + +a:hover, a:focus { + color:#069; + font-weight: bold; +} + +a small { + font-size:11px; + color:#777; + margin-top:-0.3em; + display:block; +} + +a:hover small { + color:#777; +} + +.wrapper { + width:860px; + margin:0 auto; +} + +blockquote { + border-left:1px solid #e5e5e5; + margin:0; + padding:0 0 0 20px; + font-style:italic; +} + +code, pre { + font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, Consolas, Liberation Mono, DejaVu Sans Mono, Courier New, monospace; + color:#333; +} + +pre { + padding:8px 15px; + background: #f8f8f8; + border-radius:5px; + border:1px solid #e5e5e5; + overflow-x: auto; +} + +table { + width:100%; + border-collapse:collapse; +} + +th, td { + text-align:left; + padding:5px 10px; + border-bottom:1px solid #e5e5e5; +} + +dt { + color:#444; + font-weight:700; +} + +th { + color:#444; +} + +img { + max-width:100%; +} + +header { + width:270px; + float:left; + position:fixed; + -webkit-font-smoothing:subpixel-antialiased; +} + +ul.downloads { + list-style:none; + height:40px; + padding:0; + background: #f4f4f4; + border-radius:5px; + border:1px solid #e0e0e0; + width:270px; +} + +.downloads li { + width:89px; + float:left; + border-right:1px solid #e0e0e0; + height:40px; +} + +.downloads li:first-child a { + border-radius:5px 0 0 5px; +} + +.downloads li:last-child a { + border-radius:0 5px 5px 0; +} + +.downloads a { + line-height:1; + font-size:11px; + color:#676767; + display:block; + text-align:center; + padding-top:6px; + height:34px; +} + +.downloads a:hover, .downloads a:focus { + color:#675C5C; + font-weight:bold; +} + +.downloads ul a:active { + background-color:#f0f0f0; +} + +strong { + color:#222; + font-weight:700; +} + +.downloads li + li + li { + border-right:none; + width:89px; +} + +.downloads a strong { + font-size:14px; + display:block; + color:#222; +} + +section { + width:500px; + float:right; + padding-bottom:50px; +} + +small { + font-size:11px; +} + +hr { + border:0; + background:#e5e5e5; + height:1px; + margin:0 0 20px; +} + +footer { + width:270px; + float:left; + position:fixed; + bottom:50px; + -webkit-font-smoothing:subpixel-antialiased; +} + +@media print, screen and (max-width: 960px) { + + div.wrapper { + width:auto; + margin:0; + } + + header, section, footer { + float:none; + position:static; + width:auto; + } + + header { + padding-right:320px; + } + + section { + border:1px solid #e5e5e5; + border-width:1px 0; + padding:20px 0; + margin:0 0 20px; + } + + header a small { + display:inline; + } + + header ul { + position:absolute; + right:50px; + top:52px; + } +} + +@media print, screen and (max-width: 720px) { + body { + word-wrap:break-word; + } + + header { + padding:0; + } + + header ul, header p.view { + position:static; + } + + pre, code { + word-wrap:normal; + } +} + +@media print, screen and (max-width: 480px) { + body { + padding:15px; + } + + .downloads { + width:99%; + } + + .downloads li, .downloads li + li + li { + width:33%; + } +} + +@media print { + body { + padding:0.4in; + font-size:12pt; + color:#444; + } +} diff --git a/_sass/rouge-github.scss b/_sass/rouge-github.scss new file mode 100644 index 0000000..daf76ad --- /dev/null +++ b/_sass/rouge-github.scss @@ -0,0 +1,209 @@ +.highlight table td { padding: 5px; } +.highlight table pre { margin: 0; } +.highlight .cm { + color: #999988; + font-style: italic; +} +.highlight .cp { + color: #999999; + font-weight: bold; +} +.highlight .c1 { + color: #999988; + font-style: italic; +} +.highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic; +} +.highlight .c, .highlight .cd { + color: #999988; + font-style: italic; +} +.highlight .err { + color: #a61717; + background-color: #e3d2d2; +} +.highlight .gd { + color: #000000; + background-color: #ffdddd; +} +.highlight .ge { + color: #000000; + font-style: italic; +} +.highlight .gr { + color: #aa0000; +} +.highlight .gh { + color: #999999; +} +.highlight .gi { + color: #000000; + background-color: #ddffdd; +} +.highlight .go { + color: #888888; +} +.highlight .gp { + color: #555555; +} +.highlight .gs { + font-weight: bold; +} +.highlight .gu { + color: #aaaaaa; +} +.highlight .gt { + color: #aa0000; +} +.highlight .kc { + color: #000000; + font-weight: bold; +} +.highlight .kd { + color: #000000; + font-weight: bold; +} +.highlight .kn { + color: #000000; + font-weight: bold; +} +.highlight .kp { + color: #000000; + font-weight: bold; +} +.highlight .kr { + color: #000000; + font-weight: bold; +} +.highlight .kt { + color: #445588; + font-weight: bold; +} +.highlight .k, .highlight .kv { + color: #000000; + font-weight: bold; +} +.highlight .mf { + color: #009999; +} +.highlight .mh { + color: #009999; +} +.highlight .il { + color: #009999; +} +.highlight .mi { + color: #009999; +} +.highlight .mo { + color: #009999; +} +.highlight .m, .highlight .mb, .highlight .mx { + color: #009999; +} +.highlight .sb { + color: #d14; +} +.highlight .sc { + color: #d14; +} +.highlight .sd { + color: #d14; +} +.highlight .s2 { + color: #d14; +} +.highlight .se { + color: #d14; +} +.highlight .sh { + color: #d14; +} +.highlight .si { + color: #d14; +} +.highlight .sx { + color: #d14; +} +.highlight .sr { + color: #009926; +} +.highlight .s1 { + color: #d14; +} +.highlight .ss { + color: #990073; +} +.highlight .s { + color: #d14; +} +.highlight .na { + color: #008080; +} +.highlight .bp { + color: #999999; +} +.highlight .nb { + color: #0086B3; +} +.highlight .nc { + color: #445588; + font-weight: bold; +} +.highlight .no { + color: #008080; +} +.highlight .nd { + color: #3c5d5d; + font-weight: bold; +} +.highlight .ni { + color: #800080; +} +.highlight .ne { + color: #990000; + font-weight: bold; +} +.highlight .nf { + color: #990000; + font-weight: bold; +} +.highlight .nl { + color: #990000; + font-weight: bold; +} +.highlight .nn { + color: #555555; +} +.highlight .nt { + color: #000080; +} +.highlight .vc { + color: #008080; +} +.highlight .vg { + color: #008080; +} +.highlight .vi { + color: #008080; +} +.highlight .nv { + color: #008080; +} +.highlight .ow { + color: #000000; + font-weight: bold; +} +.highlight .o { + color: #000000; + font-weight: bold; +} +.highlight .w { + color: #bbbbbb; +} +.highlight { + background-color: #f8f8f8; +} diff --git a/another-page.md b/another-page.md new file mode 100644 index 0000000..03ce0c2 --- /dev/null +++ b/another-page.md @@ -0,0 +1,9 @@ +--- +layout: default +--- + +## Welcome to another page + +_yay_ + +[back](./) diff --git a/assets/css/style.scss b/assets/css/style.scss new file mode 100644 index 0000000..0a14227 --- /dev/null +++ b/assets/css/style.scss @@ -0,0 +1,4 @@ +--- +--- + +@import "jekyll-theme-minimal"; diff --git a/assets/fonts/Noto-Sans-700/Noto-Sans-700.eot b/assets/fonts/Noto-Sans-700/Noto-Sans-700.eot new file mode 100755 index 0000000..03bf93f Binary files /dev/null and b/assets/fonts/Noto-Sans-700/Noto-Sans-700.eot differ diff --git a/assets/fonts/Noto-Sans-700/Noto-Sans-700.svg b/assets/fonts/Noto-Sans-700/Noto-Sans-700.svg new file mode 100755 index 0000000..925fe47 --- /dev/null +++ b/assets/fonts/Noto-Sans-700/Noto-Sans-700.svg @@ -0,0 +1,336 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/fonts/Noto-Sans-700/Noto-Sans-700.ttf b/assets/fonts/Noto-Sans-700/Noto-Sans-700.ttf new file mode 100755 index 0000000..4599e3c Binary files /dev/null and b/assets/fonts/Noto-Sans-700/Noto-Sans-700.ttf differ diff --git a/assets/fonts/Noto-Sans-700/Noto-Sans-700.woff b/assets/fonts/Noto-Sans-700/Noto-Sans-700.woff new file mode 100755 index 0000000..9d0b78d Binary files /dev/null and b/assets/fonts/Noto-Sans-700/Noto-Sans-700.woff differ diff --git a/assets/fonts/Noto-Sans-700/Noto-Sans-700.woff2 b/assets/fonts/Noto-Sans-700/Noto-Sans-700.woff2 new file mode 100755 index 0000000..55fc44b Binary files /dev/null and b/assets/fonts/Noto-Sans-700/Noto-Sans-700.woff2 differ diff --git a/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot b/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot new file mode 100755 index 0000000..cb97b2b Binary files /dev/null and b/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.eot differ diff --git a/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.svg b/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.svg new file mode 100755 index 0000000..abdafc0 --- /dev/null +++ b/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.svg @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.ttf b/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.ttf new file mode 100755 index 0000000..6640dbe Binary files /dev/null and b/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.ttf differ diff --git a/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff b/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff new file mode 100755 index 0000000..209739e Binary files /dev/null and b/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff differ diff --git a/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff2 b/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff2 new file mode 100755 index 0000000..f5525aa Binary files /dev/null and b/assets/fonts/Noto-Sans-700italic/Noto-Sans-700italic.woff2 differ diff --git a/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.eot b/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.eot new file mode 100755 index 0000000..a997349 Binary files /dev/null and b/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.eot differ diff --git a/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.svg b/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.svg new file mode 100755 index 0000000..dcd8fc8 --- /dev/null +++ b/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.svg @@ -0,0 +1,337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.ttf b/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.ttf new file mode 100755 index 0000000..7f75a2d Binary files /dev/null and b/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.ttf differ diff --git a/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.woff b/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.woff new file mode 100755 index 0000000..6dce67c Binary files /dev/null and b/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.woff differ diff --git a/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.woff2 b/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.woff2 new file mode 100755 index 0000000..a9c14c4 Binary files /dev/null and b/assets/fonts/Noto-Sans-italic/Noto-Sans-italic.woff2 differ diff --git a/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.eot b/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.eot new file mode 100755 index 0000000..15fc8bf Binary files /dev/null and b/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.eot differ diff --git a/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.svg b/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.svg new file mode 100755 index 0000000..bd2894d --- /dev/null +++ b/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.svg @@ -0,0 +1,335 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.ttf b/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.ttf new file mode 100755 index 0000000..a83bbf9 Binary files /dev/null and b/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.ttf differ diff --git a/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.woff b/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.woff new file mode 100755 index 0000000..17c8500 Binary files /dev/null and b/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.woff differ diff --git a/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.woff2 b/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.woff2 new file mode 100755 index 0000000..a87d9cd Binary files /dev/null and b/assets/fonts/Noto-Sans-regular/Noto-Sans-regular.woff2 differ diff --git a/assets/img/logo.png b/assets/img/logo.png new file mode 100644 index 0000000..93e608e Binary files /dev/null and b/assets/img/logo.png differ diff --git a/assets/js/scale.fix.js b/assets/js/scale.fix.js new file mode 100644 index 0000000..911d33c --- /dev/null +++ b/assets/js/scale.fix.js @@ -0,0 +1,27 @@ +(function(document) { + var metas = document.getElementsByTagName('meta'), + changeViewportContent = function(content) { + for (var i = 0; i < metas.length; i++) { + if (metas[i].name == "viewport") { + metas[i].content = content; + } + } + }, + initialize = function() { + changeViewportContent("width=device-width, minimum-scale=1.0, maximum-scale=1.0"); + }, + gestureStart = function() { + changeViewportContent("width=device-width, minimum-scale=0.25, maximum-scale=1.6"); + }, + gestureEnd = function() { + initialize(); + }; + + + if (navigator.userAgent.match(/iPhone/i)) { + initialize(); + + document.addEventListener("touchstart", gestureStart, false); + document.addEventListener("touchend", gestureEnd, false); + } +})(document); diff --git a/docs/CODE_OF_CONDUCT.md b/docs/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..ab1a9a1 --- /dev/null +++ b/docs/CODE_OF_CONDUCT.md @@ -0,0 +1,46 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at opensource@github.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md new file mode 100644 index 0000000..fed1ae7 --- /dev/null +++ b/docs/CONTRIBUTING.md @@ -0,0 +1,88 @@ +# Contributing to the Minimal theme + +Hi there! We're thrilled that you'd like to contribute to the Minimal theme. Your help is essential for keeping it great. + +the Minimal theme is an open source project supported by the efforts of an entire community and built one contribution at a time by users like you. We'd love for you to get involved. Whatever your level of skill or however much time you can give, your contribution is greatly appreciated. There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests, helping other users by commenting on issues, or writing code which can be incorporated into the Minimal theme itself. + +Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests. + + +## Looking for support? + +We'd love to help. Check out [the support guidelines](SUPPORT.md). + +## How to report a bug + +Think you found a bug? Please check [the list of open issues](https://github.com/pages-themes/minimal/issues) to see if your bug has already been reported. If it hasn't please [submit a new issue](https://github.com/pages-themes/minimal/issues/new). + +Here are a few tips for writing *great* bug reports: + +* Describe the specific problem (e.g., "widget doesn't turn clockwise" versus "getting an error") +* Include the steps to reproduce the bug, what you expected to happen, and what happened instead +* Check that you are using the latest version of the project and its dependencies +* Include what version of the project your using, as well as any relevant dependencies +* Only include one bug per issue. If you have discovered two bugs, please file two issues +* Even if you don't know how to fix the bug, including a failing test may help others track it down + +**If you find a security vulnerability, do not open an issue. Please email security@github.com instead.** + +## How to suggest a feature or enhancement + +If you find yourself wishing for a feature that doesn't exist in the Minimal theme, you are probably not alone. There are bound to be others out there with similar needs. Many of the features that the Minimal theme has today have been added because our users saw the need. + +Feature requests are welcome. But take a moment to find out whether your idea fits with the scope and goals of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Please provide as much detail and context as possible, including describing the problem you're trying to solve. + +[Open an issue](https://github.com/pages-themes/minimal/issues/new) which describes the feature you would like to see, why you want it, how it should work, etc. + + + +## Your first contribution + +We'd love for you to contribute to the project. Unsure where to begin contributing to the Minimal theme? You can start by looking through these "good first issue" and "help wanted" issues: + +* [Good first issues](https://github.com/pages-themes/minimal/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) - issues which should only require a few lines of code and a test or two +* [Help wanted issues](https://github.com/pages-themes/minimal/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) - issues which may be a bit more involved, but are specifically seeking community contributions + +*p.s. Feel free to ask for help; everyone is a beginner at first* :smiley_cat: + +## How to propose changes + +Here's a few general guidelines for proposing changes: + +* If you are making visual changes, include a screenshot of what the affected element looks like, both before and after. +* Follow the [Jekyll style guide](https://ben.balter.com/jekyll-style-guide). +* If you are changing any user-facing functionality, please be sure to update the documentation +* Each pull request should implement **one** feature or bug fix. If you want to add or fix more than one thing, submit more than one pull request +* Do not commit changes to files that are irrelevant to your feature or bug fix +* Don't bump the version number in your pull request (it will be bumped prior to release) +* Write [a good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) + +At a high level, [the process for proposing changes](https://guides.github.com/introduction/flow/) is: + +1. [Fork](https://github.com/pages-themes/minimal/fork) and clone the project +2. Configure and install the dependencies: `script/bootstrap` +3. Make sure the tests pass on your machine: `script/cibuild` +4. Create a new branch: `git checkout -b my-branch-name` +5. Make your change, add tests, and make sure the tests still pass +6. Push to your fork and [submit a pull request](https://github.com/pages-themes/minimal/compare) +7. Pat your self on the back and wait for your pull request to be reviewed and merged + +**Interesting in submitting your first Pull Request?** It's easy! You can learn how from this *free* series [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github) + +## Bootstrapping your local development environment + +`script/bootstrap` + +## Running tests + +`script/cibuild` + +## Code of conduct + +This project is governed by [the Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. + +## Additional Resources + +* [Contributing to Open Source on GitHub](https://guides.github.com/activities/contributing-to-open-source/) +* [Using Pull Requests](https://help.github.com/articles/using-pull-requests/) +* [GitHub Help](https://help.github.com) diff --git a/docs/SUPPORT.md b/docs/SUPPORT.md new file mode 100644 index 0000000..54b795f --- /dev/null +++ b/docs/SUPPORT.md @@ -0,0 +1,9 @@ +## Where to get help + +If you think you've found a bug in the Minimal theme, please [check the existing issues](https://github.com/pages-themes/minimal/issues), and if no one has reported the problem, [open a new issue](https://github.com/pages-themes/minimal/issues/new). + +If you have a general question about the theme, how to implement it, or how to customize it for your site you have two options: + +1. Search for your query on [`support.github.com`](https://support.github.com/?q=pages+Minimal+theme), which will also look for similar topics on [`github.community`](https://github.community/search?q=pages+Minimal+theme) +2. Ask your question of the Jekyll community on [talk.jekyllrb.com](https://talk.jekyllrb.com/) +3. [Contact GitHub Support](https://github.com/contact?form%5Bsubject%5D=GitHub%20Pages%20theme%20pages-themes/minimal) diff --git a/index.md b/index.md new file mode 100644 index 0000000..8611051 --- /dev/null +++ b/index.md @@ -0,0 +1,123 @@ +--- +layout: default +--- + +Text can be **bold**, _italic_, or ~~strikethrough~~. + +[Link to another page](./another-page.html). + +There should be whitespace between paragraphs. + +There should be whitespace between paragraphs. We recommend including a README, or a file with information about your project. + +# Header 1 + +This is a normal paragraph following a header. GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere. + +## Header 2 + +> This is a blockquote following a header. +> +> When something is important enough, you do it even if the odds are not in your favor. + +### Header 3 + +```js +// Javascript code with syntax highlighting. +var fun = function lang(l) { + dateformat.i18n = require('./lang/' + l) + return true; +} +``` + +```ruby +# Ruby code with syntax highlighting +GitHubPages::Dependencies.gems.each do |gem, version| + s.add_dependency(gem, "= #{version}") +end +``` + +#### Header 4 + +* This is an unordered list following a header. +* This is an unordered list following a header. +* This is an unordered list following a header. + +##### Header 5 + +1. This is an ordered list following a header. +2. This is an ordered list following a header. +3. This is an ordered list following a header. + +###### Header 6 + +| head1 | head two | three | +|:-------------|:------------------|:------| +| ok | good swedish fish | nice | +| out of stock | good and plenty | nice | +| ok | good `oreos` | hmm | +| ok | good `zoute` drop | yumm | + +### There's a horizontal rule below this. + +* * * + +### Here is an unordered list: + +* Item foo +* Item bar +* Item baz +* Item zip + +### And an ordered list: + +1. Item one +1. Item two +1. Item three +1. Item four + +### And a nested list: + +- level 1 item + - level 2 item + - level 2 item + - level 3 item + - level 3 item +- level 1 item + - level 2 item + - level 2 item + - level 2 item +- level 1 item + - level 2 item + - level 2 item +- level 1 item + +### Small image + +![Octocat](https://github.githubassets.com/images/icons/emoji/octocat.png) + +### Large image + +![Branching](https://guides.github.com/activities/hello-world/branching.png) + + +### Definition lists can be used with HTML syntax. + +
+
Name
+
Godzilla
+
Born
+
1952
+
Birthplace
+
Japan
+
Color
+
Green
+
+ +``` +Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. +``` + +``` +The final element. +``` diff --git a/jekyll-theme-minimal.gemspec b/jekyll-theme-minimal.gemspec new file mode 100644 index 0000000..efb2bc0 --- /dev/null +++ b/jekyll-theme-minimal.gemspec @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +Gem::Specification.new do |s| + s.name = 'jekyll-theme-minimal' + s.version = '0.1.1' + s.license = 'CC0-1.0' + s.authors = ['Steve Smith', 'GitHub, Inc.'] + s.email = ['opensource+jekyll-theme-minimal@github.com'] + s.homepage = 'https://github.com/pages-themes/minimal' + s.summary = 'Minimal is a Jekyll theme for GitHub Pages' + + s.files = `git ls-files -z`.split("\x0").select do |f| + f.match(%r{^((_includes|_layouts|_sass|assets)/|(LICENSE|README)((\.(txt|md|markdown)|$)))}i) + end + + s.platform = Gem::Platform::RUBY + s.add_runtime_dependency 'jekyll', '> 3.5', '< 5.0' + s.add_runtime_dependency 'jekyll-seo-tag', '~> 2.0' + s.add_development_dependency 'html-proofer', '~> 3.0' + s.add_development_dependency 'rubocop', '~> 0.50' + s.add_development_dependency 'w3c_validators', '~> 1.3' +end diff --git a/script/bootstrap b/script/bootstrap new file mode 100755 index 0000000..492e553 --- /dev/null +++ b/script/bootstrap @@ -0,0 +1,6 @@ +#!/bin/sh + +set -e + +gem install bundler +bundle install diff --git a/script/cibuild b/script/cibuild new file mode 100755 index 0000000..7acc16e --- /dev/null +++ b/script/cibuild @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +bundle exec jekyll build +bundle exec htmlproofer ./_site --check-html --check-sri +bundle exec rubocop -D +bundle exec script/validate-html +gem build jekyll-theme-minimal.gemspec diff --git a/script/release b/script/release new file mode 100755 index 0000000..fdbcf9d --- /dev/null +++ b/script/release @@ -0,0 +1,42 @@ +#!/bin/sh +# Tag and push a release. + +set -e + +# Make sure we're in the project root. + +cd $(dirname "$0")/.. + +# Make sure the darn thing works + +bundle update + +# Build a new gem archive. + +rm -rf jekyll-theme-minimal-*.gem +gem build -q jekyll-theme-minimal.gemspec + +# Make sure we're on the master branch. + +(git branch | grep -q 'master') || { + echo "Only release from the master branch." + exit 1 +} + +# Figure out what version we're releasing. + +tag=v`ls jekyll-theme-minimal-*.gem | sed 's/^jekyll-theme-minimal-\(.*\)\.gem$/\1/'` + +# Make sure we haven't released this version before. + +git fetch -t origin + +(git tag -l | grep -q "$tag") && { + echo "Whoops, there's already a '${tag}' tag." + exit 1 +} + +# Tag it and bag it. + +gem push jekyll-theme-minimal-*.gem && git tag "$tag" && + git push origin master && git push origin "$tag" diff --git a/script/validate-html b/script/validate-html new file mode 100755 index 0000000..df4ec22 --- /dev/null +++ b/script/validate-html @@ -0,0 +1,28 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +require 'w3c_validators' + +def validator(file) + extension = File.extname(file) + if extension == '.html' + W3CValidators::NuValidator.new + elsif extension == '.css' + W3CValidators::CSSValidator.new + end +end + +def validate(file) + puts "Checking #{file}..." + + path = File.expand_path "../_site/#{file}", __dir__ + results = validator(file).validate_file(path) + + return puts 'Valid!' if results.errors.empty? + + results.errors.each { |err| puts err.to_s } + exit 1 +end + +validate 'index.html' +validate File.join 'assets', 'css', 'style.css' diff --git a/thumbnail.png b/thumbnail.png new file mode 100644 index 0000000..e6c0478 Binary files /dev/null and b/thumbnail.png differ