{"id":15288569,"url":"https://github.com/cutwell/featherweight","last_synced_at":"2025-04-13T07:52:12.497Z","repository":{"id":59681047,"uuid":"538481569","full_name":"Cutwell/featherweight","owner":"Cutwell","description":"Ultra-lightweight Jekyll website theme","archived":false,"fork":false,"pushed_at":"2023-10-23T22:05:21.000Z","size":132,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-08T00:33:48.182Z","etag":null,"topics":["jekyll-theme","low-bandwidth","minimalist"],"latest_commit_sha":null,"homepage":"https://cutwell.github.io/featherweight/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Cutwell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-19T12:04:07.000Z","updated_at":"2023-07-29T23:23:29.000Z","dependencies_parsed_at":"2024-09-30T15:50:04.450Z","dependency_job_id":"f55cef66-edb9-475d-aa7c-9b9103244e6c","html_url":"https://github.com/Cutwell/featherweight","commit_stats":{"total_commits":53,"total_committers":1,"mean_commits":53.0,"dds":0.0,"last_synced_commit":"88349f7fafe3b4287ee18a8827d1c3e8e104d5d1"},"previous_names":[],"tags_count":7,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cutwell%2Ffeatherweight","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cutwell%2Ffeatherweight/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cutwell%2Ffeatherweight/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cutwell%2Ffeatherweight/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cutwell","download_url":"https://codeload.github.com/Cutwell/featherweight/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248681493,"owners_count":21144700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jekyll-theme","low-bandwidth","minimalist"],"created_at":"2024-09-30T15:50:00.745Z","updated_at":"2025-04-13T07:52:12.471Z","avatar_url":"https://github.com/Cutwell.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"`Featherweight` is an ultra-lightweight Jekyll theme, aiming to minimise bandwidth usage and deliver a bare-bones experience (page sizes of ~1kb). \n\n[![Gem Version](https://img.shields.io/gem/v/featherweight?style=flat-square)][ruby-gems]\n\n[ruby-gems]: https://rubygems.org/gems/featherweight\n\n#### Building on GitHub\n\nIf you're using this site on GitHub pages, the built-in build action won't run gems outside of the [supported plugins list](https://pages.github.com/versions/).\n\nTo enable these gems, use the `build_and_deploy.yml` action under `.github/workflows` to automatically build your site on pushes, which circumvents this restriction while still hosting using GitHub pages (as advised by [Jekyll](https://jekyllrb.com/docs/continuous-integration/github-actions/)).\n\nThe workflow pushes the build to `gh-pages` branch, so make sure this exists and your GitHub page is set to deploy from this branch.\n\n#### Featherweight as a remote theme\n\n`Featherweight` can be used as a remote theme, enabling integration into existing projects.\nWe recommend using the same action setup as described above, but using the [Cutwell/jekyll-build-action](https://github.com/Cutwell/jekyll-build-action) action, to support the theme gem's dependence on Ruby 3.0.0.\n\nCopy the `_config.yml` file into your repository root, adding the following markup to specify the theme:\n```yml\ntheme: featherweight\n```\n\nAlso create a `Gemfile` file in the repository root, with the following content:\n```Gemfile\nsource \"https://rubygems.org\"\n\ngem 'featherweight', '~\u003e 0.7.6'\n```\n\nAdditionally, copy the `index.md` and `_includes/contact.md` files, and customise them to personalise your site.\n\nWith this setup, the theme will now build and install. See [Cutwell/cutwell.github.io](https://github.com/Cutwell/cutwell.github.io) for an example of this theme being used remotely.\n\n#### Writing blog posts\n\nCreate a blank `.md` file in `_pages/`, and add:\n```\n---\nlayout: post\ntitle: My blog post.\ndescription: A description of the post, used for metadata.\nimage: (optional) an image to display when linking to the post on e.g.: Twitter or Facebook\n---\n```\n\nWrite your blog post in GitHub-flavoured-markdown below the metadata.\n\nWhen naming blog post files, use the `YYYY-MM-DD-title.md` convention, or else your post won't appear in the blog post list. Read the [Jekyll docs](https://jekyllrb.com/docs/posts/).\n\n#### Cheatsheet\n\n|||\n|:--:|:--:|\n| _Config_ | Update site URL and othe default options using `_config.yml`. |\n| _Homepage_ | Customise your homepage by editing the `index.md` file. |\n| _Social media_ | Update your contact links for your homepage and post footer (optional) by editing `_includes_/contact.md` |\n| _RSS_ | The RSS feed can be found at \u003chttps://yourgithubusername.github.io/feed\u003e. |\n| _Sitemap_ | The sitemap can be found at \u003chttps://yourgithubusername.github.io/sitemap\u003e. |\n| _Quickstart_ | Test your website locally by following the [Jekyll quickstart guide](https://jekyllrb.com/docs/). |\n| _gzip compression_ | Files are compressed using [Zopfli](https://github.com/philnash/jekyll-zopfli) compression. GitHub GZip's files automatically before serving, but we can use more aggressive pre-compression to achieve better compression, and avoid server overhead to compress on-the-fly. Support seems to vary between browsers, and some will fallback to `.html`. |\n| _Brotli compression_ | We also compress files using Google's [Brotli](https://en.wikipedia.org/wiki/Brotli) algorithm. We serve `.gz` and `.html` as fallback, although `.br` [has good support](https://caniuse.com/brotli). |\n| _Page reflow protection_ | To prevent page-reflow whilst lazy-loading images, we set image height and width using `Cutwell/jekyll-anti-image-reflow` gem plugin. Note it will not override existing styling to loading, width or height attributes. |\n\n#### Cosmetics\n`Featherweight` allows you to enable numerous cosmetic upgrades for your site. Toggle these options in the `compression` settings in `_config.yml`. These cosmetics all add to the total page weight, but can significantly improve the UX.\n\nMany of these are entirely optional settings. If you're looking to create a truly minimal webpage, read the comments inside `_config.yml`.\n\n|||\n|:--:|:--:|\n| _SEO_ | Enabling search engine optimisations will add metadata for search engines and sharing on social media. |\n| _Reading time_ | To display an estimated reading time for blog posts. |\n| _Load time_ | Show off your page load times in the page footer. (Requires JS) |\n| _Page size_ | Report the webpage size in bytes, also displayed in the page footer. (Requires JS) |\n| _Social media footer_ | Display social media links below blog posts. |\n| _Blog list_ | Toggle the display of your blog list on the homepage. |\n| _CSS_ | Add some basic styling, based on [58 bytes of CSS to look great nearly everywhere](https://gist.github.com/JoeyBurzynski/617fb6201335779f8424ad9528b72c41). Also add some basic image styling to blog posts, working in combination with `anti-image-reflow` to fit images to the blog width without causing jank. Customise CSS by editing `_includes/main.css`. |\n| _Favicons_ | Generate icons for your site using [https://realfavicongenerator.net/](https://realfavicongenerator.net/), or disable favicons using `_config.yml` to use a low-byte-count alternative. Change file names or theme colours using `_config.yml`. |\n\n#### Dev\n_Build locally_\n1. Clone this repository: `git clone https://github.com/Cutwell/featherweight.git`\n2. Download the project dependencies: `bundle install`\n3. Run a local Jekyll server: `bundle exec jekyll serve`\n\n_Build .gem_\n1. Update version in `.gemspec`\n2. Build with `gem build featherweight.gemspec`\n3. Push to RubyGem with `gem push featherweight-x.x.x.gem`\n\n#### Credit\nfeather by GREY Perspective from \u003ca href=\"https://thenounproject.com/browse/icons/term/feather/\" target=\"_blank\" title=\"feather Icons\"\u003eNoun Project\u003c/a\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcutwell%2Ffeatherweight","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcutwell%2Ffeatherweight","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcutwell%2Ffeatherweight/lists"}