diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..9d5248e --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +# editorconfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..f2d6cd7 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,27 @@ +name: Continuous Integration +on: + push: + branches: + - master + pull_request: + branches: + - master +jobs: + build: + name: "Test with Jekyll ${{ matrix.jekyll }}" + runs-on: "ubuntu-latest" + strategy: + matrix: + jekyll: ["~> 3.9", "~> 4.2"] + env: + JEKYLL_VERSION: ${{ matrix.jekyll }} + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + - name: Set Up Ruby 2.7 + uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.7 + bundler-cache: true + - name: Run tests + run: script/cibuild diff --git a/.github/workflows/demo_site.yml b/.github/workflows/demo_site.yml new file mode 100644 index 0000000..35037c6 --- /dev/null +++ b/.github/workflows/demo_site.yml @@ -0,0 +1,48 @@ +name: Build and Deploy Demo Site + +on: + # Run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + deploy_demo_site: + runs-on: "ubuntu-latest" + env: + BUNDLE_PATH: "vendor/bundle" + BUNDLE_JOBS: 4 + BUNDLE_RETRY: 3 + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + with: + repository: jekyll/minima + ref: demo-site + - name: Set up Ruby 2.7 + uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.7 + bundler-cache: true + - name: Clone target branch + run: | + REMOTE_BRANCH="${REMOTE_BRANCH:-gh-pages}" + REMOTE_REPO="https://${GITHUB_ACTOR}:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git" + + echo "Publishing to ${GITHUB_REPOSITORY} on branch ${REMOTE_BRANCH}" + rm -rf _site/ + git clone --depth=1 --branch="${REMOTE_BRANCH}" --single-branch --no-checkout "${REMOTE_REPO}" _site/ + - name: Build site + run: bundle exec jekyll build --verbose --trace + - name: Deploy to GitHub Pages + run: | + SOURCE_COMMIT="$(git log -1 --pretty="%an: %B" "$GITHUB_SHA")" + pushd _site &>/dev/null + : > .nojekyll + + git add --all + git -c user.name="${GITHUB_ACTOR}" -c user.email="${GITHUB_ACTOR}@users.noreply.github.com" \ + commit --quiet \ + --message "Deploy demo-site from ${GITHUB_SHA}" \ + --message "$SOURCE_COMMIT" + git push + + popd &>/dev/null diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d96f072 --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +# Files generated by Jekyll +_site/ +.sass-cache/ +.jekyll-cache/ +.jekyll-metadata + +# Files generated by Bundler +.bundle/ +vendor/ +Gemfile.lock + +# Gems +*.gem + +# Files generated by OS +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db diff --git a/404.html b/404.html new file mode 100644 index 0000000..70efccd --- /dev/null +++ b/404.html @@ -0,0 +1,24 @@ +--- +layout: base +--- + + + +
+

404

+ +

Page not found :(

+

The requested page could not be found.

+
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..0757e99 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# 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 parkrmoore@gmail.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and 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/Gemfile b/Gemfile new file mode 100644 index 0000000..cbec53b --- /dev/null +++ b/Gemfile @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +source "https://rubygems.org" +gemspec + +gem "jekyll", ENV["JEKYLL_VERSION"] if ENV["JEKYLL_VERSION"] +gem "kramdown-parser-gfm" if ENV["JEKYLL_VERSION"] == "~> 3.9" diff --git a/History.markdown b/History.markdown new file mode 100644 index 0000000..de066ab --- /dev/null +++ b/History.markdown @@ -0,0 +1,261 @@ +## HEAD + +### Documentation + + * Forward port v2.5.1 release (#399) + * Docs: remove Google+ (#373) + * Update README section on adding favicons to site (#438) + * Fix custom-styles.scss name in README (#610) + * Improve the msg to enable disqus in README (#627) + * Make docs consistent with code (#657) + * Highlight that the base branch is v3 (#719) + +### Minor Enhancements + + * Add Keybase to social links (#400) + * Solarized skins (#404) + * Add a placeholder of favicons (#433) + * fix: make page.list_title optional (#303) + * Add stackoverflow to social media list (#443) + * Add social support for dev.to (#410) + * Add GitLab to social (#352) + * Support mutiple authors on post layout (#348) + * Re-implement site footer markup and styles (#448) + * Support pagination through posts in home layout (#450) + * Show the last modified date of posts (#432) + * Set margins of hr to improve readability (#461) + * Export a variable to let users to custom the font family of code (#462) + * Set margin-bottom of pagination (#458) + * Adjust margins of headings to make sections clear (#467) + * Rename favicons.html to custom-head.html (#468) + * Remove RSS icon from the social media list (#470) + * Improve the readablility of blockquotes (#481) + * Extract more color rules into skins (#452) + * Introduce "Dark Minima" skin (#335) + * Reduce spacing in the three largest headers (#538) + * Add `auto` skin which honors the `prefers-color-scheme` media query (#634) + * Add google scholar. (#673) + +### Major Enhancements + + * Allow skins to be defined and customized easily (#336) + * Drop support for scalar 'author' configuration (#384) + * Place skins in `minima/skins` to clarify purpose (#479) + * Add adaptive skin: `solarized` (#594) + * Generate social iconsheet during build (#686) + * Rename `default` layout to `base` (#690) + +### Bug Fixes + + * Add missing rel=me attributes to social links (#386) + * Set the border radius of highlight (#426) + * Removed unnecessary whitespace-controls (#390) + * fix: overflow auto for tables (#296) + * Add `overflow-wrap: break-word` to body tag (#321) + * Use "rem" unit in relative-font-size mixin (#436) + * Assign static value to variable outside forloop (#437) + * Add font-size styles for elements h5 and h6 (#441) + * Stop prefixing CSS calc with `-webkit-` (#445) + * Improve readability of post titles with diacritics (#449) + * Fix a bug of incorrect parsing of page.modified_date (#455) + * Specify the font size of the root element (#485) + * Fix script used for Google Analytics (#596) + * Open social links in new tabs (#625) + * change base-font-family sequence (#654) + * Fix responsiveness of social SVG sprites (#677) + * Improve "Subscribe" link in footer (#698) + * Fix deprecation warnings from Dart Sass (#700) + * Fix reference to base layout in `404.html` (#713) + +### Development Fixes + + * Ignore .jekyll-cache (#439) + * Clean up and optimize .gitignore (#475) + * [chore] Normalize Travis CI builds (#480) + * chore(deps): bump Ruby version (#510) + * Conditionally load GFM-parser gem in CI builds (#535) + * Improve CI workflow configuration (#609) + * Migrate from TravisCI to GitHub Actions (#633) + * Build and deploy demo site via GH Action workflow (#636) + * Improve readability of config file (#703) + * Trigger demo-site build manually (#714) + +## 2.5.1 + +### Minor Enhancements + + * Allow use and testing with Jekyll 4.x (#398) + +### Bug Fixes + + * Footer overlapping issue (Support Microsoft Explorer 11) (#248) + * Update multiline config comment. (#346) + +### Development Fixes + + * remove deprecated `sudo: false` in .travis.yml (#347) + +## 2.5.0 + +### Bug Fixes + + * Add `jekyll-feed` plugin in config (#228) + +### Minor Enhancements + + * Stick footer for short posts (#223) + * Consolidate trigger SVG paths (#148) + +## 2.4.1 + +### Bug Fixes + + * Reintroduce removed social includes for backwards compatibility (#217) + +## 2.4.0 + +### Minor Enhancements + + * Add better system fonts (#205) + * Remove whitespace due to Liquid tags in generated HTML (#202) + * Adding Mastodon to the social networks (#198) + +### Bug Fixes + + * social icons should resolve baseurl properly (#201) + * fix: styling main element in IE 11 (#199) + +### Documentation + + * Improve thw wording in index.md (#175) + * Update config description comment (#203) + +## 2.3.0 + + * Add option to show excerpts on the homepage (#90) + * Handle RSS feed with jekyll-feed (#183) + * Test build with Ruby 2.4 on CI (#184) + * Document how to customize navigation links (#192) + +## 2.2.1 + + * Revert social_sites hash for retrocompatibility (#190) + +## 2.2.0 + +### Minor Enhancements + + * handling content outside of posts (#88) + * Add default table styles (#144) + * Add `jekyll-seo-tag` dependency (#139) + * Add Microformats markup (#160) + * Add more social links (#141) + +### Documentation + + * Docs: clarification about page title (#142) + +## 2.1.1 / 2017-04-13 + +### Minor Enhancements + + * Close #55: Improve mobile user experience (#62) + * Remove incomplete status from spec summary (#63) + * Use date_format if set in configuration (#70) + * Corrected misspelled word (#72) + * Scale headings relative to base-font-size (#78) + * Remove 2.0 post-install message (#82) + * Fixes #115 - Only include the nav tag if there are pages to be displayed in the menu (#116) + * Fixes #80, #106. Make the hamburger work with pure CSS. (#111) + * add `header_pages` config to link only specific files in header (#52) + * More easily customizable CSS (#117) + * Use relative size for fonts and line-height (#103) + * Add 404 page from jekyll `master` (#121) + +### Development Fixes + + * Remove duplicate .sass-cache (#71) + * Demo minima on GitHub Pages (#76) + * Remove the Rakefile (#118) + +### Documentation + + * Update README with theme content description (#91) + * Update default local URL (#120) + +## 2.1.0 / 2016-11-15 + +### Minor Enhancements + + * Update gemspec to require at least Jekyll 3.3 (#59) + * Use `absolute_url` filter for disqus (#66) + * replace `example/index.html` with `example/index.md` (#58) + +### Development Fixes + + * Example should require Jekyll 3.3 (#61) + +## 2.0.0 / 2016-10-06 + +### Minor Enhancements + + * priority to site.url when site.github.url is available (#46) + * Move contents of the index.html page to the 'home' layout (#48) + * Use new `absolute_url` and `relative_url` filters in minima (#57) + +### Development Fixes + + * Use standardized tab size of 2 spaces (#44) + +### Major Enhancements + + * move `css/` directory from jekyll into `assets/` (#43) + +### Bug Fixes + + * Fix html proofer errors (#49) + * Update gem regex to include new `assets` directory (#54) + +## 1.2.0 / 2016-09-12 + +### Minor Enhancements + + * Look to site.url when available (#35) + +### Documentation + + * Move instruction for CSS in install section (#37) + +## 1.1.0 / 2016-09-07 + +### Major Enhancements + + * Add support to Disqus (#21) + * Google analytics support (#26) + * Look for `site.github.url` if it exists (#25) + +### Minor Enhancements + + * Fixed Flash Of Unstyled SVG (#12) + * Added "author" in footer instead of double title (#22) + +### Documentation + + * Document how to link to the theme styles (#18) + * Update Example to resemble Default site (#24) + +### Development Enhancements + + * Use upstream gemspec file matcher (#9) + * Fix gemspec regex (#31) + * Add Travis and a basic smoke test (#33) + +## 1.0.1 / 2016-07-28 + + * include `_layouts`, `_includes`, and `_sass` dir in gem (#6) + +## 1.0.0 / 2016-07-27 + + * default layout: html `lang` attribute should allow user customization (#3) + * Use `normalize_whitespace` filter for meta description (#4) + * Fix repo's URL in contributing (#5) diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..0e7ecd8 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016-present Parker Moore and the minima contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..2cd9832 --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +| [USC Gamecock Sandstorm theme](minimaUSCGamecockSandstorm) | +|---| +| [USC Gamecock Sandstorm theme](minimaUSCGamecockSandstorm) | +| [USC Gamecock Sandstorm theme](minimaUSCGamecockSandstorm) | + +| [Communications and Marketing - Communications and Marketing](https://sc.edu/about/offices_and_divisions/communications/index.php) / [University of South Carolina](https://www.sc.edu/) | +|---| +| [Brand Toolbox - Communications and Marketing / University of South Carolina](https://sc.edu/about/offices_and_divisions/communications/toolbox/index.php ) | + +| Name | Hex | +|---|---| +| Garnet | HEX: #73000a | +| Black | HEX: #000000 | +| White | HEX: #ffffff | +| 90% Black | HEX: #363636 | +| 70% Black | HEX: #5C5C5C | +| 50% Black | HEX: #A2A2A2 | +| 30% Black | HEX: #C7C7C7 | +| 10% Black | HEX: #ECECEC | +| Warm Grey |HEX: #676156 | +| Sandstorm | HEX: #FFF2E3 | + +# Heading 1 + +## Heading 2 + +### Heading 3 + +#### Heading 4 + +##### Heading 5 + +###### Heading 6 + diff --git a/READMEminima.md b/READMEminima.md new file mode 100644 index 0000000..cfafecd --- /dev/null +++ b/READMEminima.md @@ -0,0 +1,374 @@ +
+

Disclaimer: The information here may vary depending on the version you're using.
+ Please refer to the README.md bundled within the theme-gem for information specific to your version or by pointing + your browser to the Git tag corresponding to your version. e.g. https://github.com/jekyll/minima/blob/v2.5.0/README.md.
+ Running bundle show minima will provide you with the local path to your current theme version.

+ +

It's Jekyll's default (and first) theme. It's what you get when you run jekyll new.

+

Theme preview

+

+
+ +## Installation + +Add this line to your Jekyll site's Gemfile: + +```ruby +gem "minima" +``` + +And then execute: + + $ bundle + + +## Contents At-A-Glance + +Minima has been scaffolded by the `jekyll new-theme` command and therefore has all the necessary files and directories to have a new Jekyll site up and running with zero-configuration. + +### Layouts + +Refers to files within the `_layouts` directory, that define the markup for your theme. + + - `base.html` — The base layout that lays the foundation for subsequent layouts. The derived layouts inject their + contents into this file at the line that says ` {{ content }} ` and are linked to this file via + [FrontMatter](https://jekyllrb.com/docs/frontmatter/) declaration `layout: base`. + - `home.html` — The layout for your landing-page / home-page / index-page. [[More Info.](#home-layout)] + - `page.html` — The layout for your documents that contain FrontMatter, but are not posts. + - `post.html` — The layout for your posts. + +#### Base Layout + +From Minima v3 onwards, the base layout is named **`base.html`** instead of `default.html` to avoid confusing new users into +assuming that name holds special status. + +Users migrating from older versions with customized `_layouts/default.html` are advised to rename their copy to +`_layouts/base.html`. Migrating users with additional customized layouts may either update front matter references to former +`default.html` layout or create a new `default.html` layout referencing the current `base.html`, whichever route being the +easiest: + +``` +--- +# new `_layouts/default.html` for backwards-compatibility when multiple +# layouts have been customized. + +layout: base +--- + +{{ content }} +``` + +#### Home Layout + +`home.html` is a flexible HTML layout for the site's landing-page / home-page / index-page.
+ +##### *Main Heading and Content-injection* + +From Minima v2.2 onwards, the *home* layout will inject all content from your `index.md` / `index.html` **before** the **`Posts`** heading. This will allow you to include non-posts related content to be published on the landing page under a dedicated heading. *We recommended that you title this section with a Heading2 (`##`)*. + +Usually the `site.title` itself would suffice as the implicit 'main-title' for a landing-page. But, if your landing-page would like a heading to be explicitly displayed, then simply define a `title` variable in the document's front matter and it will be rendered with an `

` tag. + +##### *Post Listing* + +This section is optional from Minima v2.2 onwards.
+It will be automatically included only when your site contains one or more valid posts or drafts (if the site is configured to `show_drafts`). + +The title for this section is `Posts` by default and rendered with an `

` tag. You can customize this heading by defining a `list_title` variable in the document's front matter. + + +### Includes + +Refers to snippets of code within the `_includes` directory that can be inserted in multiple layouts (and another include-file as well) within the same theme-gem. + + - `disqus_comments.html` — Code to markup disqus comment box. + - `footer.html` — Defines the site's footer section. + - `google-analytics.html` — Inserts Google Analytics module (active only in production environment). + - `head.html` — Code-block that defines the `` in *default* layout. + - `custom-head.html` — Placeholder to allow users to add more metadata to ``. + - `header.html` — Defines the site's main header section. By default, pages with a defined `title` attribute will have links displayed here. + - `social.html` — Renders social-media icons based on the `minima:social_links` data in the config file. + - `social-item.html` — Template to render individual list-item containing graphic link to configured social-profile. + - `social-links/*.svg` — SVG markup components of supported social-icons. + + +### Sass + +Refers to `.scss` files within the `_sass` directory that define the theme's styles. + + - `minima/skins/classic.scss` — The "classic" skin of the theme. *Used by default.* + - `minima/initialize.scss` — A component that defines the theme's *skin-agnostic* variable defaults and sass partials. + It imports the following components (in the following order): + - `minima/custom-variables.scss` — A hook that allows overriding variable defaults and mixins. (*Note: Cannot override styles*) + - `minima/_base.scss` — Sass partial for resets and defines base styles for various HTML elements. + - `minima/_layout.scss` — Sass partial that defines the visual style for various layouts. + - `minima/custom-styles.scss` — A hook that allows overriding styles defined above. (*Note: Cannot override variables*) + +Refer the [skins](#skins) section for more details. + + +### Assets + +Refers to various asset files within the `assets` directory. + + - `assets/css/style.scss` — Imports sass files from within the `_sass` directory and gets processed into the theme's + stylesheet: `assets/css/styles.css`. + - `assets/minima-social-icons.html` — Imports enabled social-media icon graphic and gets processed into a composite SVG file. + Refer [section on social networks](#social-networks) for its usage. + + +### Plugins + +Minima comes with [`jekyll-seo-tag`](https://github.com/jekyll/jekyll-seo-tag) plugin preinstalled to make sure your website gets the most useful meta tags. See [usage](https://github.com/jekyll/jekyll-seo-tag#usage) to know how to set it up. + + +## Usage + +Have the following line in your config file: + +```yaml +theme: minima +``` + + +### Customizing templates + +To override the default structure and style of minima, simply create the concerned directory at the root of your site, copy the file you wish to customize to that directory, and then edit the file. +e.g., to override the [`_includes/head.html `](_includes/head.html) file to specify a custom style path, create an `_includes` directory, copy `_includes/head.html` from minima gem folder to `/_includes` and start editing that file. + +The site's default CSS has now moved to a new place within the gem itself, [`assets/css/style.scss`](assets/css/style.scss). + +In Minima 3.0, if you only need to customize the colors of the theme, refer to the subsequent section on skins. To have your +*CSS overrides* in sync with upstream changes released in future versions, you can collect all your overrides for the Sass +variables and mixins inside a sass file placed at `_sass/minima/custom-variables.scss` and all other overrides inside a sass file +placed at path `_sass/minima/custom-styles.scss`. + +You need not maintain entire partial(s) at the site's source just to override a few styles. However, your stylesheet's primary +source (`assets/css/style.scss`) should contain the following: + + - Front matter dashes at the very beginning (can be empty). + - Directive to import a skin. + - Directive to import the base styles (automatically loads overrides when available). + +Therefore, your `assets/css/style.scss` should contain the following at minimum: + +```sass +--- +--- + +@import + "minima/skins/{{ site.minima.skin | default: 'classic' }}", + "minima/initialize"; +``` + +#### Skins + +Minima 3.0 supports defining and switching between multiple color-palettes (or *skins*). + +``` +. +├── minima.scss +└── minima + └── _syntax-highlighting.scss +``` + + +A skin is a Sass file placed in the directory `_sass/minima/skins` and it defines the variable defaults related to the "color" +aspect of the theme. It also embeds the Sass rules related to syntax-highlighting since that is primarily related to color and +has to be adjusted in harmony with the current skin. + +The default color palette for Minima is defined within `_sass/minima/skins/classic.scss`. To switch to another available skin, +simply declare it in the site's config file. For example, to activate `_sass/minima/skins/dark.scss` as the skin, the setting +would be: + +```yaml +minima: + skin: dark +``` + +As part of the migration to support skins, some existing Sass variables have been retired and some **have been redefined** as +summarized in the following table: + +Minima 2.0 | Minima 3.0 +--------------- | ---------- +`$brand-color` | `$link-base-color` +`$grey-*` | `$brand-*` +`$orange-color` | *has been removed* + +##### Available skins + +Skin setting | Description +--------------- | ----------- +classic | Default, light color scheme. +dark | Dark variant of the classic skin. +auto | *Adaptive skin* based on the default classic and dark skins. +solarized | *Adaptive skin* for [solarized](https://github.com/solarized) color scheme skins. +solarized-light | Light variant of solarized color scheme. +solarized-dark | Dark variant of solarized color scheme. + +*:bulb: Adaptive skins switch between the "light" and "dark" variants based on the user's operating system setting or browser setting +(via CSS Media Query [prefers-color-scheme](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme)).* + +### Customize navigation links + +This allows you to set which pages you want to appear in the navigation area and configure order of the links. + +For instance, to only link to the `about` and the `portfolio` page, add the following to your `_config.yml`: + +```yaml +header_pages: + - about.md + - portfolio.md +``` + + +### Change default date format + +You can change the default date format by specifying `site.minima.date_format` +in `_config.yml`. + +``` +# Minima date format +# refer to http://shopify.github.io/liquid/filters/date/ if you want to customize this +minima: + date_format: "%b %-d, %Y" +``` + + +### Extending the `` + +You can *add* custom metadata to the `` of your layouts by creating a file `_includes/custom-head.html` in your source directory. For example, to add favicons: + +1. Head over to [https://realfavicongenerator.net/](https://realfavicongenerator.net/) to add your own favicons. +2. [Customize](#customization) default `_includes/custom-head.html` in your source directory and insert the given code snippet. + + +### Enabling comments (via Disqus) + +Optionally, if you have a Disqus account, you can tell Jekyll to use it to show a comments section below each post. + +:warning: `url`, e.g. `https://example.com`, must be set in you config file for Disqus to work. + +To enable it, after setting the url field, you also need to add the following lines to your Jekyll site: + +```yaml + disqus: + shortname: my_disqus_shortname +``` + +You can find out more about Disqus' shortnames [here](https://help.disqus.com/installation/whats-a-shortname). + +Comments are enabled by default and will only appear in production, i.e., `JEKYLL_ENV=production` + +If you don't want to display comments for a particular post you can disable them by adding `comments: false` to that post's YAML Front Matter. + +### Author Metadata + +From `Minima-3.0` onwards, `site.author` is expected to be a mapping of attributes instead of a simple scalar value: + +```yaml +author: + name: John Smith + email: "john.smith@foobar.com" +``` + +To migrate existing metadata, update your config file and any reference to the object in your layouts and includes as summarized below: + +Minima 2.x | Minima 3.0 +------------- | ------------------- +`site.author` | `site.author.name` +`site.email` | `site.author.email` + + +### Social networks + +You can add links to the accounts you have on other sites, with respective icon as an SVG graphic, via the config file. +From `Minima-3.0` onwards, the social media data is sourced from config key `minima.social_links`. It is a list of key-value pairs, each entry +corresponding to a link rendered in the footer. For example, to render links to Jekyll GitHub repository and twitter account, one should have: + +```yaml +minima: + social_links: + - { platform: github, user_url: "https://github.com/jekyll/jekyll" } + - { platform: twitter, user_url: "https://twitter.com/jekyllrb" } +``` + +Apart from the necessary keys illustrated above, `title` may also be defined to render a custom link-title. By default, the title is the same +as `platform`. The `platform` key corresponds to the SVG id of the sprite in the composite file at URL `/assets/minima-social-icons.svg`. + +The theme ships with an icon for `rss` and icons of select social-media platforms: + +- `devto` +- `dribbble` +- `facebook` +- `flickr` +- `github` +- `google_scholar` +- `instagram` +- `keybase` +- `linkedin` +- `microdotblog` +- `pinterest` +- `stackoverflow` +- `telegram` +- `twitter` +- `youtube` + +To render a link to a platform not listed above, one should first create a file at path `_includes/social-icons/.svg` comprised of +graphic markup **without the top-level ``**. The icon is expected to be centered within a viewbox of `"0 0 16 16"`. Then, make an +entry under key `minima.social_links`. + +For example, to render a link to an account of user `john.doe` at platform `deviantart.com`, the steps to follow would be: + - Get DeviantArt logo in SVG format. + - Using a text-editor, open the downloaded file to inspect if the `viewBox` attribute is defined on the `` element and is set + as `"0 0 16 16" (or similar "square" dimension)`. + - If the `viewBox` attribute is non-square or undefined, the graphic *may optionally need* to be edited in a vector graphic editor such as + *Inkscape* or *Adobe Illustrator* for properly aligned render on page. + - Edit the SVG file in text-editor to delete everything **except** what is contained between `` and save it into the Jekyll + project at path `_includes/social-icons/deviantart.svg`. + - Finally, edit the Jekyll config file to enable loading of new icon graphic with: + ```yaml + minima: + social_links: + - platform: deviantart # same as SVG filename. + user_url: "https://www.deviantart.com/john.doe" # URL of profile page. + title: My profile at DeviantArt.com # Optional. Text displayed on hovering over link. + ``` + +**Notes:** +- The list of social-links is declarative. List-items are rendered in the order declared in the downstream configuration file and not merged + with entries from upstream config file(s) such as theme-config-file or prior local config files. +- The `user_url` is rendered as given without handling any special characters within. + + +### Enabling Google Analytics + +To enable Google Analytics, add the following lines to your Jekyll site: + +```yaml + google_analytics: UA-NNNNNNNN-N +``` + +Google Analytics will only appear in production, i.e., `JEKYLL_ENV=production` + +### Enabling Excerpts on the Home Page + +To display post-excerpts on the Home Page, simply add the following to your `_config.yml`: + +```yaml +show_excerpts: true +``` + + +## Contributing + +Bug reports and pull requests are welcome on GitHub at https://github.com/jekyll/minima. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. + +## Development + +To set up your environment to develop this theme, run `script/bootstrap`. + +To test your theme, run `script/server` (or `bundle exec jekyll serve`) and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme and the contents. As you make modifications, your site will regenerate and you should see the changes in the browser after a refresh. + +## License + +The theme is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT). diff --git a/USCGamecocksSandstorm.md b/USCGamecocksSandstorm.md new file mode 100644 index 0000000..d7fec69 --- /dev/null +++ b/USCGamecocksSandstorm.md @@ -0,0 +1,35 @@ +| [Communications and Marketing - Communications and Marketing](https://sc.edu/about/offices_and_divisions/communications/index.php) / [University of South Carolina](https://www.sc.edu/) | +|---| +| [Brand Toolbox - Communications and Marketing / University of South Carolina](https://sc.edu/about/offices_and_divisions/communications/toolbox/index.php ) | + +| Name | Hex | +|---|---| +| Garnet | HEX: #73000a | +| Black | HEX: #000000 | +| White | HEX: #ffffff | +| 90% Black | HEX: #363636 | +| 70% Black | HEX: #5C5C5C | +| 50% Black | HEX: #A2A2A2 | +| 30% Black | HEX: #C7C7C7 | +| 10% Black | HEX: #ECECEC | +| Warm Grey |HEX: #676156 | +| Sandstorm | HEX: #FFF2E3 | + +[Ralph Hightower](https://ralphhightower.github.io/)[^21] + +[^21]: footnote 2 + +| | +|---| +| ![Ralph Hightower Repository’s Stats](https://github-readme-stats.vercel.app/api?username=RalphHightower&show_icons=true&title_color=73000a&text_color=73000a&border_color=73000a&icon_color=73000a&bg_color=ffffff) | +| ![GitHub Streak](https://streak-stats.vercel.app?user=RalphHightower&date_format=Y-m-d&ring=73000a&fire=73000a&currStreakNum=7300a&currStreakLabel=73000a&border=true&border_color=73000a) | +| ![RalphHightower's GitHub activity graph](https://github-readme-activity-graph.vercel.app/graph?username=RalphHightower&theme=minimal&color=73000a&title_color=73000a&line=73000a&point=73000a) | + +| | | +|---|---| +| ![](http://github-profile-summary-cards.vercel.app/api/cards/repos-per-language?username=RalphHightower&theme=default) | ![](http://github-profile-summary-cards.vercel.app/api/cards/most-commit-language?username=RalphHightower&theme=default) | +| ![](http://github-profile-summary-cards.vercel.app/api/cards/stats?username=RalphHightower&theme=default) | ![](http://github-profile-summary-cards.vercel.app/api/cards/productive-time?username=RalphHightower&theme=default&utcOffset=-5) | + +| | +|---| +| ![](http://github-profile-summary-cards.vercel.app/api/cards/profile-details?username=RalphHightower&theme=default) | diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..d8853d2 --- /dev/null +++ b/_config.yml @@ -0,0 +1,57 @@ +title: USC Gamecock/Sandstorm theme derived from Jekyll/minima +author: + name: Ralph Hightower + email: ralph.hightower@gmail.com + #street_address: + city: Chapin + state: South Carolina + zip_code: 29036 + country: United States of America + #phone: +description: > # this means to ignore newlines until "show_excerpts:" + USC Gamecock Sandstorm theme derived from Jekyll/minima +show_excerpts: false +# Set to `true` to show excerpts on the homepage. +# + +# Build settings + +theme: minima + +plugins: + - jekyll-feed + - jekyll-seo-tag + +# Theme-specific settings + +minima: + # Minima date format. + # Refer to https://shopify.github.io/liquid/filters/date/ if you want to customize this. + # + date_format: "%b %-d, %Y" + # date_format: "%Y-%m-%d %I:%M:%S.%L %p %Z" # "%b %-d, %Y" + # Generate social links + # + # Don't have accounts in those items commented out, but what the heck!? + social_links: + - { platform: devto, user_url: "https://dev.to/RalphHightower"} + # - { platform: dribbble, user_url: "https://dribbble.com/RalphHightower" } + # - { platform: facebook, user_url: "https://www.facebook.com/ralph.hightower" } + - { platform: flickr, user_url: "https://www.flickr.com/photos/RalphHightower" } + - { platform: github, user_url: "https://github.com/jekyll/RalphHightower" } + # - { platform: google_scholar, user_url: "https://scholar.google.com/citations?user=qc6CJjYAAAAJ" } + # - { platform: instagram, user_url: "https://www.instagram.com/RalphHightower" } + # - { platform: keybase, user_url: "https://keybase.io/RalphHightower" } + - { platform: linkedin, user_url: "https://www.linkedin.com/in/RalphHightower" } + # - { platform: microdotblog, user_url: "https://micro.blog/RalphHightower" } + # - { platform: pinterest, user_url: "https://www.pinterest.com/RalphHightower" } + - { platform: stackoverflow, user_url: "https://stackoverflow.com/users/26315139/ralph-hightower" } + # - { platform: telegram, user_url: "https://t.me/RalphHightower" } + # - { platform: twitter, user_url: "https://twitter.com/RalphHightower" } + - { platform: youtube, user_url: "https://www.youtube.com/RalphHightower" } + +# If you want to link only specific pages in your header, uncomment this and add the path to the pages in +# order as they should show up. +# +# header_pages: +# - about.md diff --git a/_includes/custom-head.html b/_includes/custom-head.html new file mode 100644 index 0000000..8559a67 --- /dev/null +++ b/_includes/custom-head.html @@ -0,0 +1,6 @@ +{% comment %} + Placeholder to allow defining custom head, in principle, you can add anything here, e.g. favicons: + + 1. Head over to https://realfavicongenerator.net/ to add your own favicons. + 2. Customize default _includes/custom-head.html in your source directory and insert the given code snippet. +{% endcomment %} diff --git a/_includes/disqus_comments.html b/_includes/disqus_comments.html new file mode 100644 index 0000000..d9400f2 --- /dev/null +++ b/_includes/disqus_comments.html @@ -0,0 +1,20 @@ +{%- if page.comments != false and jekyll.environment == "production" -%} + +
+ + +{%- endif -%} diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 0000000..2c4375d --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,38 @@ +
+ + +
+ + + + + +
+ +
diff --git a/_includes/google-analytics.html b/_includes/google-analytics.html new file mode 100644 index 0000000..b8b4d38 --- /dev/null +++ b/_includes/google-analytics.html @@ -0,0 +1,9 @@ + + diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 0000000..9ee139f --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,14 @@ + + + + + {%- seo -%} + + {%- feed_meta -%} + {%- if jekyll.environment == 'production' and site.google_analytics -%} + {%- include google-analytics.html -%} + {%- endif -%} + + {%- include custom-head.html -%} + + diff --git a/_includes/header.html b/_includes/header.html new file mode 100644 index 0000000..ed5a382 --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,31 @@ + diff --git a/_includes/social-icons/devto.svg b/_includes/social-icons/devto.svg new file mode 100644 index 0000000..f595e0e --- /dev/null +++ b/_includes/social-icons/devto.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-icons/dribbble.svg b/_includes/social-icons/dribbble.svg new file mode 100644 index 0000000..1d95de0 --- /dev/null +++ b/_includes/social-icons/dribbble.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-icons/facebook.svg b/_includes/social-icons/facebook.svg new file mode 100644 index 0000000..c022403 --- /dev/null +++ b/_includes/social-icons/facebook.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-icons/flickr.svg b/_includes/social-icons/flickr.svg new file mode 100644 index 0000000..3b38772 --- /dev/null +++ b/_includes/social-icons/flickr.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-icons/github.svg b/_includes/social-icons/github.svg new file mode 100644 index 0000000..9301f84 --- /dev/null +++ b/_includes/social-icons/github.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-icons/gitlab.svg b/_includes/social-icons/gitlab.svg new file mode 100644 index 0000000..a03e5f9 --- /dev/null +++ b/_includes/social-icons/gitlab.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-icons/google_scholar.svg b/_includes/social-icons/google_scholar.svg new file mode 100644 index 0000000..37aab26 --- /dev/null +++ b/_includes/social-icons/google_scholar.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-icons/instagram.svg b/_includes/social-icons/instagram.svg new file mode 100644 index 0000000..d483d14 --- /dev/null +++ b/_includes/social-icons/instagram.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-icons/keybase.svg b/_includes/social-icons/keybase.svg new file mode 100644 index 0000000..0770447 --- /dev/null +++ b/_includes/social-icons/keybase.svg @@ -0,0 +1,4 @@ + + + + diff --git a/_includes/social-icons/linkedin.svg b/_includes/social-icons/linkedin.svg new file mode 100644 index 0000000..8a61bf1 --- /dev/null +++ b/_includes/social-icons/linkedin.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-icons/mastodon.svg b/_includes/social-icons/mastodon.svg new file mode 100644 index 0000000..77d35f4 --- /dev/null +++ b/_includes/social-icons/mastodon.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-icons/microdotblog.svg b/_includes/social-icons/microdotblog.svg new file mode 100644 index 0000000..285a719 --- /dev/null +++ b/_includes/social-icons/microdotblog.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-icons/pinterest.svg b/_includes/social-icons/pinterest.svg new file mode 100644 index 0000000..d3963c6 --- /dev/null +++ b/_includes/social-icons/pinterest.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_includes/social-icons/rss.svg b/_includes/social-icons/rss.svg new file mode 100644 index 0000000..e531f94 --- /dev/null +++ b/_includes/social-icons/rss.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-icons/stackoverflow.svg b/_includes/social-icons/stackoverflow.svg new file mode 100644 index 0000000..c2c78c4 --- /dev/null +++ b/_includes/social-icons/stackoverflow.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-icons/telegram.svg b/_includes/social-icons/telegram.svg new file mode 100644 index 0000000..40bc43b --- /dev/null +++ b/_includes/social-icons/telegram.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-icons/twitter.svg b/_includes/social-icons/twitter.svg new file mode 100644 index 0000000..0f5322f --- /dev/null +++ b/_includes/social-icons/twitter.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-icons/youtube.svg b/_includes/social-icons/youtube.svg new file mode 100644 index 0000000..dfd5661 --- /dev/null +++ b/_includes/social-icons/youtube.svg @@ -0,0 +1 @@ + diff --git a/_includes/social-item.html b/_includes/social-item.html new file mode 100644 index 0000000..7f2e101 --- /dev/null +++ b/_includes/social-item.html @@ -0,0 +1,7 @@ +
  • {% assign entry = include.item %} + + + + + +
  • diff --git a/_includes/social.html b/_includes/social.html new file mode 100644 index 0000000..8a4af8b --- /dev/null +++ b/_includes/social.html @@ -0,0 +1,5 @@ + diff --git a/_includes/svg_symbol.html b/_includes/svg_symbol.html new file mode 100644 index 0000000..5c9127c --- /dev/null +++ b/_includes/svg_symbol.html @@ -0,0 +1,3 @@ + + {%- include social-icons/{{ include.key }}.svg -%} + diff --git a/_layouts/base.html b/_layouts/base.html new file mode 100644 index 0000000..58e141b --- /dev/null +++ b/_layouts/base.html @@ -0,0 +1,20 @@ + + + + {%- include head.html -%} + + + + {%- include header.html -%} + +
    +
    + {{ content }} +
    +
    + + {%- include footer.html -%} + + + + diff --git a/_layouts/home.html b/_layouts/home.html new file mode 100644 index 0000000..c81df2f --- /dev/null +++ b/_layouts/home.html @@ -0,0 +1,61 @@ +--- +layout: base +--- + +
    + {%- if page.title -%} +

    {{ page.title }}

    + {%- endif -%} + + {{ content }} + + + {% if site.paginate %} + {% assign posts = paginator.posts %} + {% else %} + {% assign posts = site.posts %} + {% endif %} + + + {%- if posts.size > 0 -%} + {%- if page.list_title -%} +

    {{ page.list_title }}

    + {%- endif -%} +
      + {%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" -%} + {%- for post in posts -%} +
    • + +

      + + {{ post.title | escape }} + +

      + {%- if site.show_excerpts -%} + {{ post.excerpt }} + {%- endif -%} +
    • + {%- endfor -%} +
    + + {% if site.paginate %} +
    + +
    + {%- endif %} + + {%- endif -%} + +
    diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 0000000..18544b4 --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,14 @@ +--- +layout: base +--- +
    + +
    +

    {{ page.title | escape }}

    +
    + +
    + {{ content }} +
    + +
    diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100644 index 0000000..dc71866 --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,38 @@ +--- +layout: base +--- +
    + +
    +

    {{ page.title | escape }}

    + +
    + +
    + {{ content }} +
    + + {%- if site.disqus.shortname -%} + {%- include disqus_comments.html -%} + {%- endif -%} + + +
    diff --git a/_posts/2016-05-19-super-short-article.md b/_posts/2016-05-19-super-short-article.md new file mode 100644 index 0000000..c925c64 --- /dev/null +++ b/_posts/2016-05-19-super-short-article.md @@ -0,0 +1,7 @@ +--- +layout: post +title: "Some articles are just so short that we have to make the footer stick" +categories: misc +--- + +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. diff --git a/_posts/2016-05-20-my-example-post.md b/_posts/2016-05-20-my-example-post.md new file mode 100644 index 0000000..145b21d --- /dev/null +++ b/_posts/2016-05-20-my-example-post.md @@ -0,0 +1,12 @@ +--- +layout: post +--- + +Eos eu docendi tractatos sapientem, brute option menandri in vix, quando vivendo accommodare te ius. Nec melius fastidii constituam id, viderer theophrastus ad sit, hinc semper periculis cum id. Noluisse postulant assentior est in, no choro sadipscing repudiandae vix. Vis in euismod delenit dignissim. Ex quod nostrum sit, suas decore animal id ius, nobis solet detracto quo te. + +{% comment %} +Might you have an include in your theme? Why not try it here! +{% include my-themes-great-include.html %} +{% endcomment %} + +No laudem altera adolescens has, volumus lucilius eum no. Eam ei nulla audiam efficiantur. Suas affert per no, ei tale nibh sea. Sea ne magna harum, in denique scriptorem sea, cetero alienum tibique ei eos. Labores persequeris referrentur eos ei. diff --git a/_posts/2016-05-20-super-long-article.md b/_posts/2016-05-20-super-long-article.md new file mode 100644 index 0000000..5652a9a --- /dev/null +++ b/_posts/2016-05-20-super-long-article.md @@ -0,0 +1,11 @@ +--- +layout: post +title: "Some articles are just so long they deserve a really long title to see if things will break well" +categories: misc +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit. Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit. Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit. Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est. diff --git a/_posts/2016-05-20-this-post-demonstrates-post-content-styles.md b/_posts/2016-05-20-this-post-demonstrates-post-content-styles.md new file mode 100644 index 0000000..b77036e --- /dev/null +++ b/_posts/2016-05-20-this-post-demonstrates-post-content-styles.md @@ -0,0 +1,115 @@ +--- +layout: post +title: "This post demonstrates post content styles" +categories: junk +author: +- Bart Simpson +- Nelson Mandela Muntz +meta: "Springfield" +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit. + +## Some great heading (h2) + +Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu. + +Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est. + +## Another great heading (h2) + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit. + +### Some great subheading (h3) + +Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. + +Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. + +### Some great subheading (h3) + +Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est. + +> This quote will *change* your life. It will reveal the secrets of the universe, and all the wonders of humanity. Don't misuse it. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. + +### Some great subheading (h3) + +Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit. Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. + +```html + + + + +

    Hello, World!

    + + +``` + + +In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. + +#### You might want a sub-subheading (h4) + +In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. + +In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. + +#### But it's probably overkill (h4) + +In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. + +##### Could be a smaller sub-heading, `pacman` (h5) + +In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. + +###### Small yet significant sub-heading (h6) + +In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. + +### Oh hai, an unordered list!! + +In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. + +- First item, yo +- Second item, dawg +- Third item, what what?! +- Fourth item, fo sheezy my neezy + +### Oh hai, an ordered list!! + +In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum. Phasellus et hendrerit mauris. + +1. First item, yo +2. Second item, dawg +3. Third item, what what?! +4. Fourth item, fo sheezy my neezy + + + +## Headings are cool! (h2) + +Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est. + +Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est. + +Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. + +### Tables + +Title 1 | Title 2 | Title 3 | Title 4 +--------------------- | --------------------- | --------------------- | --------------------- +lorem | lorem ipsum | lorem ipsum dolor | lorem ipsum dolor sit +lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit +lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit +lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit + + +Title 1 | Title 2 | Title 3 | Title 4 +--- | --- | --- | --- +lorem | lorem ipsum | lorem ipsum dolor | lorem ipsum dolor sit +lorem ipsum dolor sit amet | lorem ipsum dolor sit amet consectetur | lorem ipsum dolor sit amet | lorem ipsum dolor sit +lorem ipsum dolor | lorem ipsum | lorem | lorem ipsum +lorem ipsum dolor | lorem ipsum dolor sit | lorem ipsum dolor sit amet | lorem ipsum dolor sit amet consectetur diff --git a/_posts/2016-05-20-welcome-to-jekyll.md b/_posts/2016-05-20-welcome-to-jekyll.md new file mode 100644 index 0000000..8a79609 --- /dev/null +++ b/_posts/2016-05-20-welcome-to-jekyll.md @@ -0,0 +1,22 @@ +--- +layout: post +--- +You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated. + +To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works. + +Jekyll also offers powerful support for code snippets: + +{% highlight ruby %} +def print_hi(name) + puts "Hi, #{name}" +end +print_hi('Tom') +#=> prints 'Hi, Tom' to STDOUT. +{% endhighlight %} + +Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk]. + +[jekyll-docs]: http://jekyllrb.com/docs/home +[jekyll-gh]: https://github.com/jekyll/jekyll +[jekyll-talk]: https://talk.jekyllrb.com/ diff --git a/_sass/minima/_base.scss b/_sass/minima/_base.scss new file mode 100644 index 0000000..ea8d8f2 --- /dev/null +++ b/_sass/minima/_base.scss @@ -0,0 +1,281 @@ +html { + font-size: $base-font-size; +} + +/** + * Reset some basic elements + */ +body, h1, h2, h3, h4, h5, h6, +p, blockquote, pre, hr, +dl, dd, ol, ul, figure { + margin: 0; + padding: 0; + +} + + + +/** + * Basic styling + */ +body { + font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family; + color: $text-color; + background-color: $background-color; + -webkit-text-size-adjust: 100%; + -webkit-font-feature-settings: "kern" 1; + -moz-font-feature-settings: "kern" 1; + -o-font-feature-settings: "kern" 1; + font-feature-settings: "kern" 1; + font-kerning: normal; + display: flex; + min-height: 100vh; + flex-direction: column; + overflow-wrap: break-word; +} + + + +/** + * Set `margin-bottom` to maintain vertical rhythm + */ +h1, h2, h3, h4, h5, h6, +p, blockquote, pre, +ul, ol, dl, figure, +%vertical-rhythm { + margin-bottom: $spacing-unit * .5; +} + +hr { + margin-top: $spacing-unit; + margin-bottom: $spacing-unit; +} + +/** + * `main` element + */ +main { + display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */ +} + + + +/** + * Images + */ +img { + max-width: 100%; + vertical-align: middle; +} + + + +/** + * Figures + */ +figure > img { + display: block; +} + +figcaption { + font-size: $small-font-size; +} + + + +/** + * Lists + */ +ul, ol { + margin-left: $spacing-unit; +} + +li { + > ul, + > ol { + margin-bottom: 0; + } +} + + + +/** + * Headings + */ +h1, h2, h3, h4, h5, h6 { + font-weight: $base-font-weight; +} + + + +/** + * Links + */ +a { + color: $link-base-color; + text-decoration: none; + + &:visited { + color: $link-visited-color; + } + + &:hover { + color: $link-hover-color; + text-decoration: underline; + } + + .social-media-list &:hover { + text-decoration: none; + + .username { + text-decoration: underline; + } + } +} + + +/** + * Blockquotes + */ +blockquote { + color: $brand-color; + border-left: 4px solid $border-color-01; + padding-left: $spacing-unit * .5; + @include relative-font-size(1.125); + font-style: italic; + + > :last-child { + margin-bottom: 0; + } + + i, em { + font-style: normal; + } +} + + + +/** + * Code formatting + */ +pre, +code { + font-family: $code-font-family; + font-size: 0.9375em; + border: 1px solid $border-color-01; + border-radius: 3px; + background-color: $code-background-color; +} + +code { + padding: 1px 5px; +} + +pre { + padding: 8px 12px; + overflow-x: auto; + + > code { + border: 0; + padding-right: 0; + padding-left: 0; + } +} + +.highlight { + border-radius: 3px; + background: $code-background-color; + @extend %vertical-rhythm; + + .highlighter-rouge & { + background: $code-background-color; + } +} + + + +/** + * Wrapper + */ +.wrapper { + max-width: calc(#{$content-width} - (#{$spacing-unit})); + margin-right: auto; + margin-left: auto; + padding-right: $spacing-unit * .5; + padding-left: $spacing-unit * .5; + @extend %clearfix; + + @media screen and (min-width: $on-large) { + max-width: calc(#{$content-width} - (#{$spacing-unit} * 2)); + padding-right: $spacing-unit; + padding-left: $spacing-unit; + } +} + + + +/** + * Clearfix + */ +%clearfix:after { + content: ""; + display: table; + clear: both; +} + + + +/** + * Icons + */ + +.orange { + color: #f66a0a; +} + +.grey { + color: #828282; +} + +.svg-icon { + width: 1.25em; + height: 1.25em; + display: inline-block; + fill: currentColor; + vertical-align: text-bottom; +} + + +/** + * Tables + */ +table { + margin-bottom: $spacing-unit; + width: 100%; + text-align: $table-text-align; + color: $table-text-color; + border-collapse: collapse; + border: 1px solid $table-border-color; + tr { + &:nth-child(even) { + background-color: $table-zebra-color; + } + } + th, td { + padding: ($spacing-unit * 33.3333333333 * .01) ($spacing-unit * .5); + } + th { + background-color: $table-header-bg-color; + border: 1px solid $table-header-border; + } + td { + border: 1px solid $table-border-color; + } + + @include media-query($on-laptop) { + display: block; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } +} diff --git a/_sass/minima/_layout.scss b/_sass/minima/_layout.scss new file mode 100644 index 0000000..a334c2b --- /dev/null +++ b/_sass/minima/_layout.scss @@ -0,0 +1,341 @@ +/** + * Site header + */ +.site-header { + border-top: 5px solid $border-color-03; + border-bottom: 1px solid $border-color-01; + min-height: $spacing-unit * 1.865; + line-height: $base-line-height * $base-font-size * 2.25; + + // Positioning context for the mobile navigation icon + position: relative; +} + +.site-title { + @include relative-font-size(1.625); + font-weight: 300; + letter-spacing: -1px; + margin-bottom: 0; + float: left; + + @include media-query($on-palm) { + padding-right: 45px; + } + + &, + &:visited { + color: $site-title-color; + } +} + +.site-nav { + position: absolute; + top: 9px; + right: $spacing-unit * .5; + background-color: $background-color; + border: 1px solid $border-color-01; + border-radius: 5px; + text-align: left; + + .nav-trigger { + display: none; + } + + .menu-icon { + float: right; + width: 36px; + height: 26px; + line-height: 0; + padding-top: 10px; + text-align: center; + + > svg path { + fill: $border-color-03; + } + } + + label[for="nav-trigger"] { + display: block; + float: right; + width: 36px; + height: 36px; + z-index: 2; + cursor: pointer; + } + + input ~ .trigger { + clear: both; + display: none; + } + + input:checked ~ .trigger { + display: block; + padding-bottom: 5px; + } + + .page-link { + color: $text-color; + line-height: $base-line-height; + display: block; + padding: 5px 10px; + + // Gaps between nav items, but not on the last one + &:not(:last-child) { + margin-right: 0; + } + margin-left: 20px; + } + + @media screen and (min-width: $on-medium) { + position: static; + float: right; + border: none; + background-color: inherit; + + label[for="nav-trigger"] { + display: none; + } + + .menu-icon { + display: none; + } + + input ~ .trigger { + display: block; + } + + .page-link { + display: inline; + padding: 0; + + &:not(:last-child) { + margin-right: 20px; + } + margin-left: auto; + } + } +} + + + +/** + * Site footer + */ +.site-footer { + border-top: 1px solid $border-color-01; + padding: $spacing-unit 0; +} + +.footer-heading { + @include relative-font-size(1.125); + margin-bottom: $spacing-unit * .5; +} + +.feed-subscribe .svg-icon { + padding: 5px 5px 2px 0 +} + +.contact-list, +.social-media-list { + list-style: none; + margin-left: 0; +} + +.footer-col-wrapper, +.social-links { + @include relative-font-size(0.9375); + color: $brand-color; +} + +.footer-col { + margin-bottom: $spacing-unit * .5; +} + +.footer-col-1, +.footer-col-2 { + width: calc(50% - (#{$spacing-unit} / 2)); +} + +.footer-col-3 { + width: calc(100% - (#{$spacing-unit} / 2)); +} + +@media screen and (min-width: $on-large) { + .footer-col-1 { + width: calc(35% - (#{$spacing-unit} / 2)); + } + + .footer-col-2 { + width: calc(20% - (#{$spacing-unit} / 2)); + } + + .footer-col-3 { + width: calc(45% - (#{$spacing-unit} / 2)); + } +} + +@media screen and (min-width: $on-medium) { + .footer-col-wrapper { + display: flex + } + + .footer-col { + width: calc(100% - (#{$spacing-unit} / 2)); + padding: 0 ($spacing-unit * .5); + + &:first-child { + padding-right: $spacing-unit * .5; + padding-left: 0; + } + + &:last-child { + padding-right: 0; + padding-left: $spacing-unit * .5; + } + } +} + + + +/** + * Page content + */ +.page-content { + padding: $spacing-unit 0; + flex: 1 0 auto; +} + +.page-heading { + @include relative-font-size(2); +} + +.post-list-heading { + @include relative-font-size(1.75); +} + +.post-list { + margin-left: 0; + list-style: none; + + > li { + margin-bottom: $spacing-unit; + } +} + +.post-meta { + font-size: $small-font-size; + color: $brand-color; +} + +.post-link { + display: block; + @include relative-font-size(1.5); +} + + + +/** + * Posts + */ +.post-header { + margin-bottom: $spacing-unit; +} + +.post-title, +.post-content h1 { + @include relative-font-size(2.625); + letter-spacing: -1px; + line-height: 1.15; + + @media screen and (min-width: $on-large) { + @include relative-font-size(2.625); + } +} + +.post-content { + margin-bottom: $spacing-unit; + + h1, h2, h3, h4, h5, h6 { margin-top: $spacing-unit } + + h2 { + @include relative-font-size(1.75); + + @media screen and (min-width: $on-large) { + @include relative-font-size(2); + } + } + + h3 { + @include relative-font-size(1.375); + + @media screen and (min-width: $on-large) { + @include relative-font-size(1.625); + } + } + + h4 { + @include relative-font-size(1.25); + } + + h5 { + @include relative-font-size(1.125); + } + h6 { + @include relative-font-size(1.0625); + } +} + + +.social-media-list { + display: table; + margin: 0 auto; + li { + float: left; + margin: 5px 10px 5px 0; + &:last-of-type { margin-right: 0 } + a { + display: block; + padding: 10px 12px; + border: 1px solid $border-color-01; + &:hover { border-color: $border-color-02 } + } + } +} + + + +/** + * Pagination navbar + */ +.pagination { + margin-bottom: $spacing-unit; + @extend .social-media-list; + li { + a, div { + min-width: 41px; + text-align: center; + box-sizing: border-box; + } + div { + display: block; + padding: $spacing-unit * .25; + border: 1px solid transparent; + + &.pager-edge { + color: $border-color-01; + border: 1px dashed; + } + } + } +} + + + +/** + * Grid helpers + */ +@media screen and (min-width: $on-large) { + .one-half { + width: calc(50% - (#{$spacing-unit} / 2)); + } +} diff --git a/_sass/minima/custom-styles.scss b/_sass/minima/custom-styles.scss new file mode 100644 index 0000000..44b4994 --- /dev/null +++ b/_sass/minima/custom-styles.scss @@ -0,0 +1,30 @@ +// Placeholder to allow defining custom styles that override everything else. +// (Use `_sass/minima/custom-variables.scss` to override variable defaults) + +// Light mode +// ---------- + +$lm-brand-color: #73000a !default; +$lm-brand-color-light: lighten($lm-brand-color, 40%) !default; +$lm-brand-color-dark: darken($lm-brand-color, 25%) !default; + +$lm-site-title-color: $lm-brand-color-dark !default; + +$lm-text-color: #111111 !default; +$lm-background-color: #FFF2E3 !default; //fdfdfd +$lm-code-background-color: #FFF2E3 !default; + +$lm-link-base-color: #73000a !default; +$lm-link-visited-color: darken($lm-link-base-color, 15%) !default; +$lm-link-hover-color: $lm-text-color !default; + +$lm-border-color-01: #FFF2E3 !default; +$lm-border-color-02: lighten(#FFF2E3, 35%) !default; +$lm-border-color-03: #FFF2E3 !default; + +$lm-table-text-color: lighten($lm-text-color, 18%) !default; +$lm-table-zebra-color: #FFF2E3 !default; +$lm-table-header-bg-color: #FFF2E3 !default; +$lm-table-header-border: #FFF2E3 !default; +$lm-table-border-color: #FFF2E3 !default; + diff --git a/_sass/minima/custom-variables.scss b/_sass/minima/custom-variables.scss new file mode 100644 index 0000000..2a2d0fa --- /dev/null +++ b/_sass/minima/custom-variables.scss @@ -0,0 +1 @@ +// Placeholder to allow overriding predefined variables smoothly. diff --git a/_sass/minima/initialize.scss b/_sass/minima/initialize.scss new file mode 100644 index 0000000..76efd77 --- /dev/null +++ b/_sass/minima/initialize.scss @@ -0,0 +1,50 @@ +@charset "utf-8"; + +// Define defaults for each variable. + +$base-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", Roboto, Helvetica, Arial, sans-serif !default; +$code-font-family: "Menlo", "Inconsolata", "Consolas", "Roboto Mono", "Ubuntu Mono", "Liberation Mono", "Courier New", monospace; +$base-font-size: 16px !default; +$base-font-weight: 400 !default; +$small-font-size: $base-font-size * 0.875 !default; +$base-line-height: 1.5 !default; + +$spacing-unit: 30px !default; + +$table-text-align: left !default; + +// Width of the content area +$content-width: 800px !default; + +$on-palm: 600px !default; +$on-laptop: 800px !default; + +$on-medium: $on-palm !default; +$on-large: $on-laptop !default; + +// Use media queries like this: +// @include media-query($on-palm) { +// .wrapper { +// padding-right: $spacing-unit / 2; +// padding-left: $spacing-unit / 2; +// } +// } +// Notice the following mixin uses max-width, in a deprecated, desktop-first +// approach, whereas media queries used elsewhere now use min-width. +@mixin media-query($device) { + @media screen and (max-width: $device) { + @content; + } +} + +@mixin relative-font-size($ratio) { + font-size: #{$ratio}rem; +} + +// Import pre-styling-overrides hook and style-partials. +@import + "minima/custom-variables", // Hook to override predefined variables. + "minima/base", // Defines element resets. + "minima/layout", // Defines structure and style based on CSS selectors. + "minima/custom-styles" // Hook to override existing styles. +; diff --git a/_sass/minima/skins/auto.scss b/_sass/minima/skins/auto.scss new file mode 100644 index 0000000..a00a6ec --- /dev/null +++ b/_sass/minima/skins/auto.scss @@ -0,0 +1,361 @@ +@charset "utf-8"; + +// Default color scheme settings +// These are overridden in classic.css and dark.scss + +$color-scheme-auto: true !default; +$color-scheme-dark: false !default; + + +// Light mode +// ---------- + +$lm-brand-color: #73000a !default; +$lm-brand-color-light: lighten($lm-brand-color, 40%) !default; +$lm-brand-color-dark: darken($lm-brand-color, 25%) !default; + +$lm-site-title-color: $lm-brand-color-dark !default; + +$lm-text-color: #363636 !default; +$lm-background-color: #fdfdfd !default; +$lm-code-background-color: #eeeeff !default; + +$lm-link-base-color: #73000a !default; +$lm-link-visited-color: darken($lm-link-base-color, 25%) !default; +$lm-link-hover-color: $lm-text-color !default; + +$lm-border-color-01: $lm-brand-color-light !default; +$lm-border-color-02: lighten($lm-brand-color, 35%) !default; +$lm-border-color-03: $lm-brand-color-dark !default; + +$lm-table-text-color: #73000a !default; +$lm-table-zebra-color: #fff2e3 !default; +$lm-table-header-bg-color: #fff2e3 !default; +$lm-table-header-border: #73000a !default; +$lm-table-border-color: #73000a !default; + + +// Syntax highlighting styles should be adjusted appropriately for every "skin" +// ---------------------------------------------------------------------------- + +@mixin lm-highlight { + .highlight { + .c { color: #998; font-style: italic } // Comment + .err { color: #a61717; background-color: #e3d2d2 } // Error + .k { font-weight: bold } // Keyword + .o { font-weight: bold } // Operator + .cm { color: #998; font-style: italic } // Comment.Multiline + .cp { color: #999; font-weight: bold } // Comment.Preproc + .c1 { color: #998; font-style: italic } // Comment.Single + .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special + .gd { color: #000; background-color: #fdd } // Generic.Deleted + .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific + .ge { font-style: italic } // Generic.Emph + .gr { color: #a00 } // Generic.Error + .gh { color: #999 } // Generic.Heading + .gi { color: #000; background-color: #dfd } // Generic.Inserted + .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific + .go { color: #888 } // Generic.Output + .gp { color: #555 } // Generic.Prompt + .gs { font-weight: bold } // Generic.Strong + .gu { color: #aaa } // Generic.Subheading + .gt { color: #a00 } // Generic.Traceback + .kc { font-weight: bold } // Keyword.Constant + .kd { font-weight: bold } // Keyword.Declaration + .kp { font-weight: bold } // Keyword.Pseudo + .kr { font-weight: bold } // Keyword.Reserved + .kt { color: #458; font-weight: bold } // Keyword.Type + .m { color: #099 } // Literal.Number + .s { color: #d14 } // Literal.String + .na { color: #008080 } // Name.Attribute + .nb { color: #0086B3 } // Name.Builtin + .nc { color: #458; font-weight: bold } // Name.Class + .no { color: #008080 } // Name.Constant + .ni { color: #800080 } // Name.Entity + .ne { color: #900; font-weight: bold } // Name.Exception + .nf { color: #900; font-weight: bold } // Name.Function + .nn { color: #555 } // Name.Namespace + .nt { color: #000080 } // Name.Tag + .nv { color: #008080 } // Name.Variable + .ow { font-weight: bold } // Operator.Word + .w { color: #bbb } // Text.Whitespace + .mf { color: #099 } // Literal.Number.Float + .mh { color: #099 } // Literal.Number.Hex + .mi { color: #099 } // Literal.Number.Integer + .mo { color: #099 } // Literal.Number.Oct + .sb { color: #d14 } // Literal.String.Backtick + .sc { color: #d14 } // Literal.String.Char + .sd { color: #d14 } // Literal.String.Doc + .s2 { color: #d14 } // Literal.String.Double + .se { color: #d14 } // Literal.String.Escape + .sh { color: #d14 } // Literal.String.Heredoc + .si { color: #d14 } // Literal.String.Interpol + .sx { color: #d14 } // Literal.String.Other + .sr { color: #009926 } // Literal.String.Regex + .s1 { color: #d14 } // Literal.String.Single + .ss { color: #990073 } // Literal.String.Symbol + .bp { color: #999 } // Name.Builtin.Pseudo + .vc { color: #008080 } // Name.Variable.Class + .vg { color: #008080 } // Name.Variable.Global + .vi { color: #008080 } // Name.Variable.Instance + .il { color: #099 } // Literal.Number.Integer.Long + } +} + + +// Dark mode +// --------- + +$dm-brand-color: #999999 !default; +$dm-brand-color-light: lighten($dm-brand-color, 5%) !default; +$dm-brand-color-dark: darken($dm-brand-color, 35%) !default; + +$dm-site-title-color: $dm-brand-color-light !default; + +$dm-text-color: #bbbbbb !default; +$dm-background-color: #181818 !default; +$dm-code-background-color: #212121 !default; + +$dm-link-base-color: #79b8ff !default; +$dm-link-visited-color: $dm-link-base-color !default; +$dm-link-hover-color: $dm-text-color !default; + +$dm-border-color-01: $dm-brand-color-dark !default; +$dm-border-color-02: $dm-brand-color-light !default; +$dm-border-color-03: $dm-brand-color !default; + +$dm-table-text-color: $dm-text-color !default; +$dm-table-zebra-color: lighten($dm-background-color, 4%) !default; +$dm-table-header-bg-color: lighten($dm-background-color, 10%) !default; +$dm-table-header-border: lighten($dm-background-color, 21%) !default; +$dm-table-border-color: $dm-border-color-01 !default; + + +// Syntax highlighting styles should be adjusted appropriately for every "skin" +// List of tokens: https://github.com/rouge-ruby/rouge/wiki/List-of-tokens +// Some colors come from Material Theme Darker: +// https://github.com/material-theme/vsc-material-theme/blob/master/scripts/generator/settings/specific/darker-hc.ts +// https://github.com/material-theme/vsc-material-theme/blob/master/scripts/generator/color-set.ts +// ---------------------------------------------------------------------------- + +@mixin dm-highlight { + .highlight { + .c { color: #545454; font-style: italic } // Comment + .err { color: #f07178; background-color: #e3d2d2 } // Error + .k { color: #89DDFF; font-weight: bold } // Keyword + .o { font-weight: bold } // Operator + .cm { color: #545454; font-style: italic } // Comment.Multiline + .cp { color: #545454; font-weight: bold } // Comment.Preproc + .c1 { color: #545454; font-style: italic } // Comment.Single + .cs { color: #545454; font-weight: bold; font-style: italic } // Comment.Special + .gd { color: #000; background-color: #fdd } // Generic.Deleted + .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific + .ge { font-style: italic } // Generic.Emph + .gr { color: #f07178 } // Generic.Error + .gh { color: #999 } // Generic.Heading + .gi { color: #000; background-color: #dfd } // Generic.Inserted + .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific + .go { color: #888 } // Generic.Output + .gp { color: #555 } // Generic.Prompt + .gs { font-weight: bold } // Generic.Strong + .gu { color: #aaa } // Generic.Subheading + .gt { color: #f07178 } // Generic.Traceback + .kc { font-weight: bold } // Keyword.Constant + .kd { font-weight: bold } // Keyword.Declaration + .kp { font-weight: bold } // Keyword.Pseudo + .kr { font-weight: bold } // Keyword.Reserved + .kt { color: #FFCB6B; font-weight: bold } // Keyword.Type + .m { color: #F78C6C } // Literal.Number + .s { color: #C3E88D } // Literal.String + .na { color: #008080 } // Name.Attribute + .nb { color: #EEFFFF } // Name.Builtin + .nc { color: #FFCB6B; font-weight: bold } // Name.Class + .no { color: #008080 } // Name.Constant + .ni { color: #800080 } // Name.Entity + .ne { color: #900; font-weight: bold } // Name.Exception + .nf { color: #82AAFF; font-weight: bold } // Name.Function + .nn { color: #555 } // Name.Namespace + .nt { color: #FFCB6B } // Name.Tag + .nv { color: #EEFFFF } // Name.Variable + .ow { font-weight: bold } // Operator.Word + .w { color: #EEFFFF } // Text.Whitespace + .mf { color: #F78C6C } // Literal.Number.Float + .mh { color: #F78C6C } // Literal.Number.Hex + .mi { color: #F78C6C } // Literal.Number.Integer + .mo { color: #F78C6C } // Literal.Number.Oct + .sb { color: #C3E88D } // Literal.String.Backtick + .sc { color: #C3E88D } // Literal.String.Char + .sd { color: #C3E88D } // Literal.String.Doc + .s2 { color: #C3E88D } // Literal.String.Double + .se { color: #EEFFFF } // Literal.String.Escape + .sh { color: #C3E88D } // Literal.String.Heredoc + .si { color: #C3E88D } // Literal.String.Interpol + .sx { color: #C3E88D } // Literal.String.Other + .sr { color: #C3E88D } // Literal.String.Regex + .s1 { color: #C3E88D } // Literal.String.Single + .ss { color: #C3E88D } // Literal.String.Symbol + .bp { color: #999 } // Name.Builtin.Pseudo + .vc { color: #FFCB6B } // Name.Variable.Class + .vg { color: #EEFFFF } // Name.Variable.Global + .vi { color: #EEFFFF } // Name.Variable.Instance + .il { color: #F78C6C } // Literal.Number.Integer.Long + } +} + + +// Mode selection +// -------------- + + +// Classic skin (always light mode) +// Assign outside of the if construct to establish global variable scope + +$brand-color: $lm-brand-color; +$brand-color-light: $lm-brand-color-light; +$brand-color-dark: $lm-brand-color-dark; + +$site-title-color: $lm-site-title-color; + +$text-color: $lm-text-color; +$background-color: $lm-background-color; +$code-background-color: $lm-code-background-color; + +$link-base-color: $lm-link-base-color; +$link-visited-color: $lm-link-visited-color; +$link-hover-color: $lm-link-hover-color; + +$border-color-01: $lm-border-color-01; +$border-color-02: $lm-border-color-02; +$border-color-03: $lm-border-color-03; + +$table-text-color: $lm-table-text-color; +$table-zebra-color: $lm-table-zebra-color; +$table-header-bg-color: $lm-table-header-bg-color; +$table-header-border: $lm-table-header-border; +$table-border-color: $lm-table-border-color; + + +@if $color-scheme-auto { + + // Auto mode + + :root { + --minima-brand-color: #{$lm-brand-color}; + --minima-brand-color-light: #{$lm-brand-color-light}; + --minima-brand-color-dark: #{$lm-brand-color-dark}; + + --minima-site-title-color: #{$lm-site-title-color}; + + --minima-text-color: #{$lm-text-color}; + --minima-background-color: #{$lm-background-color}; + --minima-code-background-color: #{$lm-code-background-color}; + + --minima-link-base-color: #{$lm-link-base-color}; + --minima-link-visited-color: #{$lm-link-visited-color}; + --minima-link-hover-color: #{$lm-link-hover-color}; + + --minima-border-color-01: #{$lm-border-color-01}; + --minima-border-color-02: #{$lm-border-color-02}; + --minima-border-color-03: #{$lm-border-color-03}; + + --minima-table-text-color: #{$lm-table-text-color}; + --minima-table-zebra-color: #{$lm-table-zebra-color}; + --minima-table-header-bg-color: #{$lm-table-header-bg-color}; + --minima-table-header-border: #{$lm-table-header-border}; + --minima-table-border-color: #{$lm-table-border-color}; + } + + @include lm-highlight; + + @media (prefers-color-scheme: dark) { + :root { + --minima-brand-color: #{$dm-brand-color}; + --minima-brand-color-light: #{$dm-brand-color-light}; + --minima-brand-color-dark: #{$dm-brand-color-dark}; + + --minima-site-title-color: #{$dm-site-title-color}; + + --minima-text-color: #{$dm-text-color}; + --minima-background-color: #{$dm-background-color}; + --minima-code-background-color: #{$dm-code-background-color}; + + --minima-link-base-color: #{$dm-link-base-color}; + --minima-link-visited-color: #{$dm-link-visited-color}; + --minima-link-hover-color: #{$dm-link-hover-color}; + + --minima-border-color-01: #{$dm-border-color-01}; + --minima-border-color-02: #{$dm-border-color-02}; + --minima-border-color-03: #{$dm-border-color-03}; + + --minima-table-text-color: #{$dm-table-text-color}; + --minima-table-zebra-color: #{$dm-table-zebra-color}; + --minima-table-header-bg-color: #{$dm-table-header-bg-color}; + --minima-table-header-border: #{$dm-table-header-border}; + --minima-table-border-color: #{$dm-table-border-color}; + } + + @include dm-highlight; + } + + $brand-color: var(--minima-brand-color); + $brand-color-light: var(--minima-brand-color-light); + $brand-color-dark: var(--minima-brand-color-dark); + + $site-title-color: var(--minima-site-title-color); + + $text-color: var(--minima-text-color); + $background-color: var(--minima-background-color); + $code-background-color: var(--minima-code-background-color); + + $link-base-color: var(--minima-link-base-color); + $link-visited-color: var(--minima-link-visited-color); + $link-hover-color: var(--minima-link-hover-color); + + $border-color-01: var(--minima-border-color-01); + $border-color-02: var(--minima-border-color-02); + $border-color-03: var(--minima-border-color-03); + + $table-text-color: var(--minima-table-text-color); + $table-zebra-color: var(--minima-table-zebra-color); + $table-header-bg-color: var(--minima-table-header-bg-color); + $table-header-border: var(--minima-table-header-border); + $table-border-color: var(--minima-table-border-color); + + +} @else if $color-scheme-dark { + + // Dark skin (always dark mode) + + $brand-color: $dm-brand-color; + $brand-color-light: $dm-brand-color-light; + $brand-color-dark: $dm-brand-color-dark; + + $site-title-color: $dm-site-title-color; + + $text-color: $dm-text-color; + $background-color: $dm-background-color; + $code-background-color: $dm-code-background-color; + + $link-base-color: $dm-link-base-color; + $link-visited-color: $dm-link-visited-color; + $link-hover-color: $dm-link-hover-color; + + $border-color-01: $dm-border-color-01; + $border-color-02: $dm-border-color-02; + $border-color-03: $dm-border-color-03; + + $table-text-color: $dm-table-text-color; + $table-zebra-color: $dm-table-zebra-color; + $table-header-bg-color: $dm-table-header-bg-color; + $table-header-border: $dm-table-header-border; + $table-border-color: $dm-table-border-color; + + @include dm-highlight; + + +} @else { + + // Classic skin syntax highlighting + @include lm-highlight; + +} diff --git a/_sass/minima/skins/classic.scss b/_sass/minima/skins/classic.scss new file mode 100644 index 0000000..e61b078 --- /dev/null +++ b/_sass/minima/skins/classic.scss @@ -0,0 +1,5 @@ +@charset "utf-8"; + +$color-scheme-auto: false; +$color-scheme-dark: false; +@import "minima/skins/auto"; diff --git a/_sass/minima/skins/dark.scss b/_sass/minima/skins/dark.scss new file mode 100644 index 0000000..159226e --- /dev/null +++ b/_sass/minima/skins/dark.scss @@ -0,0 +1,5 @@ +@charset "utf-8"; + +$color-scheme-auto: false; +$color-scheme-dark: true; +@import "minima/skins/auto"; diff --git a/_sass/minima/skins/solarized-dark.scss b/_sass/minima/skins/solarized-dark.scss new file mode 100644 index 0000000..500dceb --- /dev/null +++ b/_sass/minima/skins/solarized-dark.scss @@ -0,0 +1,5 @@ +@charset "utf-8"; + +$sol-is-auto: false; +$sol-is-dark: true; +@import "minima/skins/solarized"; diff --git a/_sass/minima/skins/solarized-light.scss b/_sass/minima/skins/solarized-light.scss new file mode 100644 index 0000000..d2fc065 --- /dev/null +++ b/_sass/minima/skins/solarized-light.scss @@ -0,0 +1,4 @@ +@charset "utf-8"; + +$sol-is-auto: false; +@import "minima/skins/solarized"; diff --git a/_sass/minima/skins/solarized.scss b/_sass/minima/skins/solarized.scss new file mode 100644 index 0000000..7ac1f5a --- /dev/null +++ b/_sass/minima/skins/solarized.scss @@ -0,0 +1,201 @@ +@charset "utf-8"; + +// Solarized skin +// ============== +// Created by Sander Voerman using the Solarized +// color scheme by Ethan Schoonover . + +// This style sheet implements three options for the minima.skin setting: +// "solarized-light" for light mode, "solarized-dark" for dark mode, and +// "solarized" for light or dark mode depending on user preference. +$sol-is-auto: true !default; +$sol-is-dark: false !default; + + +// Color scheme +// ------------ +// The inline comments show the canonical L*a*b values for each color. + +$sol-base03: #002b36; // 15 -12 -12 +$sol-base02: #073642; // 20 -12 -12 +$sol-base01: #586e75; // 45 -07 -07 +$sol-base00: #657b83; // 50 -07 -07 +$sol-base0: #839496; // 60 -06 -03 +$sol-base1: #93a1a1; // 65 -05 -02 +$sol-base2: #eee8d5; // 92 -00 10 +$sol-base3: #fdf6e3; // 97 00 10 +$sol-yellow: #b58900; // 60 10 65 +$sol-orange: #cb4b16; // 50 50 55 +$sol-red: #dc322f; // 50 65 45 +$sol-magenta: #d33682; // 50 65 -05 +$sol-violet: #6c71c4; // 50 15 -45 +$sol-blue: #268bd2; // 55 -10 -45 +$sol-cyan: #2aa198; // 60 -35 -05 +$sol-green: #859900; // 60 -20 65 + + +// Mixed colors +// ------------ +// While not part of the original Solarized base tones, these derived tones +// are meant to replicate the visual style of the classic skin. They should +// not be used in cases where sufficiently contrasting colors are needed. + +$sol-light-mix1: mix($sol-base1, $sol-base3); +$sol-light-mix2: mix($sol-blue, $sol-base00); +$sol-light-mix3: mix($sol-base2, $sol-base3); +$sol-dark-mix1: mix($sol-base01, $sol-base03); +$sol-dark-mix2: mix($sol-blue, $sol-base0); +$sol-dark-mix3: mix($sol-base02, $sol-base03); + + +// Mode selection +// -------------- + +$sol-mono3: $sol-base3; +$sol-mono2: $sol-base2; +$sol-mono1: $sol-base1; +$sol-mono00: $sol-base00; +$sol-mono01: $sol-base01; +$sol-mix1: $sol-light-mix1; +$sol-mix2: $sol-light-mix2; +$sol-mix3: $sol-light-mix3; + +@if $sol-is-dark { + $sol-mono3: $sol-base03; + $sol-mono2: $sol-base02; + $sol-mono1: $sol-base01; + $sol-mono00: $sol-base0; + $sol-mono01: $sol-base1; + $sol-mix1: $sol-dark-mix1; + $sol-mix2: $sol-dark-mix2; + $sol-mix3: $sol-dark-mix3; +} + +@if $sol-is-auto { + :root { + --solarized-mono3: #{$sol-base3}; + --solarized-mono2: #{$sol-base2}; + --solarized-mono1: #{$sol-base1}; + --solarized-mono00: #{$sol-base00}; + --solarized-mono01: #{$sol-base01}; + --solarized-mix1: #{$sol-light-mix1}; + --solarized-mix2: #{$sol-light-mix2}; + --solarized-mix3: #{$sol-light-mix3}; + } + + @media (prefers-color-scheme: dark) { + :root { + --solarized-mono3: #{$sol-base03}; + --solarized-mono2: #{$sol-base02}; + --solarized-mono1: #{$sol-base01}; + --solarized-mono00: #{$sol-base0}; + --solarized-mono01: #{$sol-base1}; + --solarized-mix1: #{$sol-dark-mix1}; + --solarized-mix2: #{$sol-dark-mix2}; + --solarized-mix3: #{$sol-dark-mix3}; + } + } + + $sol-mono3: var(--solarized-mono3); + $sol-mono2: var(--solarized-mono2); + $sol-mono1: var(--solarized-mono1); + $sol-mono00: var(--solarized-mono00); + $sol-mono01: var(--solarized-mono01); + $sol-mix1: var(--solarized-mix1); + $sol-mix2: var(--solarized-mix2); + $sol-mix3: var(--solarized-mix3); +} + + +// Minima color variables +// ---------------------- + +$brand-color: $sol-mono1 !default; +$brand-color-light: $sol-mix1 !default; +$brand-color-dark: $sol-mono00 !default; + +$site-title-color: $sol-mono00 !default; + +$text-color: $sol-mono01 !default; +$background-color: $sol-mono3 !default; +$code-background-color: $sol-mono2 !default; + +$link-base-color: $sol-blue !default; +$link-visited-color: $sol-mix2 !default; +$link-hover-color: $sol-mono00 !default; + +$border-color-01: $brand-color-light !default; +$border-color-02: $sol-mono1 !default; +$border-color-03: $sol-mono00 !default; + +$table-text-color: $sol-mono00 !default; +$table-zebra-color: $sol-mix3 !default; +$table-header-bg-color: $sol-mono2 !default; +$table-header-border: $sol-mono1 !default; +$table-border-color: $sol-mono1 !default; + + +// Syntax highlighting styles +// -------------------------- + +.highlight { + .c { color: $sol-mono1; font-style: italic } // Comment + .err { color: $sol-red } // Error + .k { color: $sol-mono01; font-weight: bold } // Keyword + .o { color: $sol-mono01; font-weight: bold } // Operator + .cm { color: $sol-mono1; font-style: italic } // Comment.Multiline + .cp { color: $sol-mono1; font-weight: bold } // Comment.Preproc + .c1 { color: $sol-mono1; font-style: italic } // Comment.Single + .cs { color: $sol-mono1; font-weight: bold; font-style: italic } // Comment.Special + .gd { color: $sol-red } // Generic.Deleted + .gd .x { color: $sol-red } // Generic.Deleted.Specific + .ge { color: $sol-mono00; font-style: italic } // Generic.Emph + .gr { color: $sol-red } // Generic.Error + .gh { color: $sol-mono1 } // Generic.Heading + .gi { color: $sol-green } // Generic.Inserted + .gi .x { color: $sol-green } // Generic.Inserted.Specific + .go { color: $sol-mono00 } // Generic.Output + .gp { color: $sol-mono00 } // Generic.Prompt + .gs { color: $sol-mono01; font-weight: bold } // Generic.Strong + .gu { color: $sol-mono1 } // Generic.Subheading + .gt { color: $sol-red } // Generic.Traceback + .kc { color: $sol-mono01; font-weight: bold } // Keyword.Constant + .kd { color: $sol-mono01; font-weight: bold } // Keyword.Declaration + .kp { color: $sol-mono01; font-weight: bold } // Keyword.Pseudo + .kr { color: $sol-mono01; font-weight: bold } // Keyword.Reserved + .kt { color: $sol-violet; font-weight: bold } // Keyword.Type + .m { color: $sol-cyan } // Literal.Number + .s { color: $sol-magenta } // Literal.String + .na { color: $sol-cyan } // Name.Attribute + .nb { color: $sol-blue } // Name.Builtin + .nc { color: $sol-violet; font-weight: bold } // Name.Class + .no { color: $sol-cyan } // Name.Constant + .ni { color: $sol-violet } // Name.Entity + .ne { color: $sol-violet; font-weight: bold } // Name.Exception + .nf { color: $sol-blue; font-weight: bold } // Name.Function + .nn { color: $sol-mono00 } // Name.Namespace + .nt { color: $sol-blue } // Name.Tag + .nv { color: $sol-cyan } // Name.Variable + .ow { color: $sol-mono01; font-weight: bold } // Operator.Word + .w { color: $sol-mono1 } // Text.Whitespace + .mf { color: $sol-cyan } // Literal.Number.Float + .mh { color: $sol-cyan } // Literal.Number.Hex + .mi { color: $sol-cyan } // Literal.Number.Integer + .mo { color: $sol-cyan } // Literal.Number.Oct + .sb { color: $sol-magenta } // Literal.String.Backtick + .sc { color: $sol-magenta } // Literal.String.Char + .sd { color: $sol-magenta } // Literal.String.Doc + .s2 { color: $sol-magenta } // Literal.String.Double + .se { color: $sol-magenta } // Literal.String.Escape + .sh { color: $sol-magenta } // Literal.String.Heredoc + .si { color: $sol-magenta } // Literal.String.Interpol + .sx { color: $sol-magenta } // Literal.String.Other + .sr { color: $sol-green } // Literal.String.Regex + .s1 { color: $sol-magenta } // Literal.String.Single + .ss { color: $sol-magenta } // Literal.String.Symbol + .bp { color: $sol-mono1 } // Name.Builtin.Pseudo + .vc { color: $sol-cyan } // Name.Variable.Class + .vg { color: $sol-cyan } // Name.Variable.Global + .vi { color: $sol-cyan } // Name.Variable.Instance + .il { color: $sol-cyan } // Literal.Number.Integer.Long +} diff --git a/about.md b/about.md new file mode 100644 index 0000000..8b4e0b2 --- /dev/null +++ b/about.md @@ -0,0 +1,18 @@ +--- +layout: page +title: About +permalink: /about/ +--- + +This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/) + +You can find the source code for Minima at GitHub: +[jekyll][jekyll-organization] / +[minima](https://github.com/jekyll/minima) + +You can find the source code for Jekyll at GitHub: +[jekyll][jekyll-organization] / +[jekyll](https://github.com/jekyll/jekyll) + + +[jekyll-organization]: https://github.com/jekyll diff --git a/assets/css/style.scss b/assets/css/style.scss new file mode 100644 index 0000000..0d1fce9 --- /dev/null +++ b/assets/css/style.scss @@ -0,0 +1,7 @@ +--- +# Only the main Sass file needs front matter (the dashes are enough) +--- + +@import + "minima/skins/{{ site.minima.skin | default: 'classic' }}", + "minima/initialize"; diff --git a/assets/minima-social-icons.liquid b/assets/minima-social-icons.liquid new file mode 100644 index 0000000..d2951fa --- /dev/null +++ b/assets/minima-social-icons.liquid @@ -0,0 +1,18 @@ +--- +permalink: /assets/minima-social-icons.svg +--- + + +{% comment %} + Iterate through {{ site.minima.social_links }} and render platform related SVG-symbol + unless the platform is "rss" because we need the "rss" symbol for the `Subscribe` link + in the footer and therefore inject the "rss" icon outside the iteration loop. +{% endcomment %} +{% for entry in site.minima.social_links %} + {%- assign symbol_id = entry.platform -%} + {%- unless symbol_id == "rss" -%} + {%- include svg_symbol.html key = symbol_id -%} + {% endunless %} +{%- endfor -%} + {%- include svg_symbol.html key = "rss" -%} + diff --git a/minima.gemspec b/minima.gemspec new file mode 100644 index 0000000..0877069 --- /dev/null +++ b/minima.gemspec @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +Gem::Specification.new do |spec| + spec.name = "minima" + spec.version = "3.0.0.dev" + spec.authors = ["Joel Glovier"] + spec.email = ["jglovier@github.com"] + + spec.summary = "A beautiful, minimal theme for Jekyll." + spec.homepage = "https://github.com/jekyll/minima" + spec.license = "MIT" + + spec.metadata["plugin_type"] = "theme" + + spec.files = `git ls-files -z`.split("\x0").select do |f| + f.match(%r!^(assets|_(includes|layouts|sass)/|(LICENSE|README)((\.(txt|md|markdown)|$)))!i) + end + + spec.add_runtime_dependency "jekyll", ">= 3.5", "< 5.0" + spec.add_runtime_dependency "jekyll-feed", "~> 0.9" + spec.add_runtime_dependency "jekyll-seo-tag", "~> 2.1" + + spec.add_development_dependency "bundler" +end diff --git a/readme_banner.svg b/readme_banner.svg new file mode 100644 index 0000000..dbe0d72 --- /dev/null +++ b/readme_banner.svg @@ -0,0 +1 @@ + diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000..6200392 Binary files /dev/null and b/screenshot.png differ 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/build b/script/build new file mode 100755 index 0000000..c4ac84f --- /dev/null +++ b/script/build @@ -0,0 +1,6 @@ +#!/bin/sh + +set -e + +echo "Building the example site..." +bundle exec jekyll build diff --git a/script/cibuild b/script/cibuild new file mode 100755 index 0000000..c3c0e99 --- /dev/null +++ b/script/cibuild @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e + +script/build + +if test -e "./_site/index.html";then + echo "It builds!" + rm -Rf _site +else + echo "Huh. That's odd. The example site doesn't seem to build." + exit 1 +fi + +gem build minima.gemspec diff --git a/script/server b/script/server new file mode 100755 index 0000000..d8c3e15 --- /dev/null +++ b/script/server @@ -0,0 +1,3 @@ +#!/bin/sh + +bundle exec jekyll serve