{"id":16551162,"url":"https://github.com/michaelcurrin/themeless-jekyll-quickstart","last_synced_at":"2025-07-28T01:36:51.192Z","repository":{"id":93180100,"uuid":"162815887","full_name":"MichaelCurrin/themeless-jekyll-quickstart","owner":"MichaelCurrin","description":"A barebones Jekyll site without an external theme - based on the Jekyll docs tutorial","archived":false,"fork":false,"pushed_at":"2021-09-17T06:34:50.000Z","size":180,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-04T15:47:28.844Z","etag":null,"topics":["demo","github-pages","jekyll","quickstart","static-site","static-site-generator","template","template-project","themeless"],"latest_commit_sha":null,"homepage":"https://michaelcurrin.github.io/themeless-jekyll-quickstart/","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/MichaelCurrin.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":"2018-12-22T14:00:12.000Z","updated_at":"2024-10-03T18:57:57.000Z","dependencies_parsed_at":"2023-08-24T18:47:06.922Z","dependency_job_id":null,"html_url":"https://github.com/MichaelCurrin/themeless-jekyll-quickstart","commit_stats":null,"previous_names":[],"tags_count":5,"template":true,"template_full_name":null,"purl":"pkg:github/MichaelCurrin/themeless-jekyll-quickstart","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelCurrin%2Fthemeless-jekyll-quickstart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelCurrin%2Fthemeless-jekyll-quickstart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelCurrin%2Fthemeless-jekyll-quickstart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelCurrin%2Fthemeless-jekyll-quickstart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MichaelCurrin","download_url":"https://codeload.github.com/MichaelCurrin/themeless-jekyll-quickstart/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelCurrin%2Fthemeless-jekyll-quickstart/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267451200,"owners_count":24089296,"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","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["demo","github-pages","jekyll","quickstart","static-site","static-site-generator","template","template-project","themeless"],"created_at":"2024-10-11T19:36:30.981Z","updated_at":"2025-07-28T01:36:51.156Z","avatar_url":"https://github.com/MichaelCurrin.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Themeless Jekyll Quickstart\n\u003e A barebones Jekyll site without an external theme - based on the Jekyll docs tutorial\n\n[![Made with Jekyll](https://img.shields.io/badge/Made_with-Jekyll-blue?logo=jekyll)](https://jekyllrb.com)\n[![GitHub tag](https://img.shields.io/github/tag/MichaelCurrin/themeless-jekyll-quickstart)](https://GitHub.com/MichaelCurrin/themeless-jekyll-quickstart/tags/)\n[![License](https://img.shields.io/badge/License-MIT-blue)](#license)\n\n\u003cdiv align=\"center\"\u003e\n\n[![View site GH Pages](https://img.shields.io/badge/GitHub_Pages-Live_demo-blue?style=for-the-badge)](https://MichaelCurrin.github.io/themeless-jekyll-quickstart/)\n\n[![Use this template](https://img.shields.io/badge/Generate-Use_this_template-2ea44f?style=for-the-badge)](https://github.com/MichaelCurrin/themeless-jekyll-quickstart/generate)\n\n\u003c/div\u003e\n\nAll the styling and assets are included in this repo. This gives you more control and configuring a theme. But it means the repo is heavy - including both your own content and the appearance setup.\n\n\n## Preview\n\n\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"(https://MichaelCurrin.github.io/themeless-jekyll-quickstart/\"\u003e\n        \u003cimg src=\"/sample.png\" alt=\"Sample screenshot\" title=\"Go to demo site\" width=\"400\" /\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\n\n## Purpose\n\nThis project is based on following the [Jekyll Step-by-Step tutorial](https://jekyllrb.com/docs/step-by-step/01-setup/) and serves the following purposes:\n\n- Create a project quickly from this one, using the _Use this template_ button.\n- This is a reference for other projects.\n- There is demo site hosted as a _GitHub Pages_ site.\n\nNote that this project has **no** theme. If you want to see use of a theme in a simple project, see these projects:\n\n- [MichaelCurrin/jekyll-blog-demo](https://github.com/MichaelCurrin/jekyll-blog-demo)\n- [jekyll-themed-site-quickstart](https://github.com/MichaelCurrin/jekyll-themed-site-quickstart)\n\nThis project demonstrates how to do a few things in Jekyll, but the approaches are not necessarily best practice. See [minima](https://github.com/jekyll/minima) project for a good idea of how to set up a navbar, styling, JS, includes files and other pieces which are more typical of Jekyll sites and easier to scale and maintain.\n\n### Turn your HTML assets into a Jekyll project\n\nThis project is a good starting point if you have some existing HTML and CSS that you've built or downloaded as a theme and now you want to build a Jekyll site from it to make it easy to maintain. As you'll get to use a config file and layouts for templating plus you can use the included gems like Jekyll sitemap to handle SEO for you.\n\nThis project has limited styling and does not use a theme gem, so it is good to use. \n\nYou can easily make a new project from this template and replace the layouts with content from an existing folder of static HTML. Add any includes files you need like `head.html`, `analytics.html` or `gallery.html`. Delete or rename the pages.\n\nYou can add CSS as external content in the head tag or as CSS files on the repo.\n\n\n## About this project\n\nThe contents of this project shows how to work with [Liquid](https://shopify.github.io/liquid/) templating and [Jekyll](https://jekyllrb.com/) (Ruby gem for generating static sites).\n\nThe _frontmatter_ (HTML and markdown content) pages are built with the template engine to produce HTML which is served. In this case, the output is kept simple - a few pages, each with a navigation bar that has current page highlighted.\n\n### Theme\n\nUsually a _Jekyll theme_ is used for static sites so they can have styling, then you override the sections you want. However this project has **no** theme set.\n\n### How this project is structured\n\n- Navigation bar using configured a [navigation.html](/_data/navigation.yml) data file and rendered using [navigation.html](/_includes/navigation.html) file.\n- Blog [page](/blog.html) and [posts](/_posts).\n- Blog post authors are in the [\\_authors](_authors/) directory, enabled as a collection in [config](_config.yml) and then referenced by blog post with an `author` field.\n- Skills are listed in the [skills.yml](/_data/skills.yml) data file and are iterated over in the [my_skills.md](/my_skills.md) page.\n- The [\\_layouts](/_layouts/) directory has a few layouts and these are matched to pages using the [config](/_config.yml) file.\n- [Plugins](#plugins) are set in the [Gemfile](/Gemfile) and [config](/_config.yml).\n\n#### Collections note\n\nA note on generating pages as a collection. Each author markdown file generate its own author page because of the setup above. When iterating, you can use the default ordering, or use a Jekyll filter to order them or reverse them or you could add a priority (or order or weight) field in each to sort by (e.g. sort by this value ascending where `1` would mean 1st position).\n\nThis cannot unfortunately be done using a single YAML data file. Unless you use a plugin, or generate markdown files from a CSV as suggested in this [Jekyll issue](https://github.com/jekyll/jekyll/issues/2983) conversation.\n\n### Resources\n\n- [Jekyll collections](https://jekyllrb.com/docs/collections/)\n- Some useful links which helped me with learning how to use Jekyll are in this [gist](https://gist.github.com/MichaelCurrin/dfd14bfa74938e40f251bc00445a1627).\n\n\n## Deploy\n\nThis project can be setup on GitHub Pages.\n\nDo this by setting up GitHub Pages section of the GitHub repo's _Settings_.\n\nThis project is available at:\n\n- [michaelcurrin.github.io/themeless-jekyll-quickstart](https://michaelcurrin.github.io/themeless-jekyll-quickstart/ \"Go to demo site\")\n\nSince this is a project page, the subpath of `themeless-jekyll-quickstart` is automatically set using the repo's name. In order to keep navigation and asset URLs in line with this and prevent errors, the `baseurl` in the [config](/_config.yml) file is also set to that subpath.\n\n\n## Installation\n\nSet up the project locally - instructions are for _Linux_ or _macOS_ systems.\n\n### Clone\n\nOptionally addd this to your own repos - either fork this repo or click this button to get a copy .[![Use this template](https://img.shields.io/badge/Use_this_template-2ea44f)](https://github.com/MichaelCurrin/themeless-jekyll-quickstart/generate).\n\nThen clone your repo or this one.\n\nNavigate to the repo's root directory locally.\n\nYou can view commands in the [Makefile](/Makefile) or skip that and continue.\n\n```bash\n$ make help\n```\n\n### Install system dependencies\n\nInstall Ruby and Bundler - see [instructions](https://gist.github.com/MichaelCurrin/fb758aea4d35e03b9ed093afddf4e7ec).\n\n### Install project packages\n\nInstall gems for your project - including Jekyll.\n\n```bash\n$ make install\n```\n\nRun this command in future to upgrade to the latest gems.\n\n```bash\n$ make upgrade\n```\n\nThe `Gemfile.lock` file will be updated if there were any changes. You can commit this. That file is optional for GitHub Pages, but required if you want to deploy to Netlify.\n\n\n## Run\n\nBuild to the `_site` directory and start the Jekyll dev server.\n\n### On subpath\n\nSet `baseurl` value in the config - this should be changed to match the repo name. This makes it easy to mirror how sites [run on Github Pages](#run-on-github-pages).\n\n```bash\n$ make serve\n```\n\nOpen the browser at:\n\n- http://localhost:4000/static-pages-demo\n\n### On root path\n\n```bash\n$ make serve-root\n```\n\nOpen the browser at:\n\n- http://localhost:4000/\n\n\n## Production build\n\nWhen building site content to deploy to production, replace the default `'development'` value with `production`.\n\n```bash\n$ make build\n```\n\nThis will affect any checks in the files such as `if jekyll.environment == \"production\"`. This is useful for example to only show Google Analytics tag on Production site.\n\nThen copy the contents of the `_site` directory to your server and then serve the static content. GitHub Pages and Netlify can do the build, copy, and serve steps for you all in the cloud. \n\n\n## Plugins\n\nThe following plugins were recommended as part of the [deploy step](https://jekyllrb.com/docs/step-by-step/10-deployment/) of the Jekyll tutorial tutorial and so are used in this project in both the [gem file](/Gemfile) and [Jekyll config](/_config.yml).\n\n- **jekyll-sitemap** - Creates a robots and sitemap file, to help search engines index content.\n- **jekyll-feed** - Creates an RSS feed for your posts. This is typically shown on as link  in the header or footer.\n- **jekyll-seo-tag** - Makes meta tag snippets available, to help with SEO.\n\n### Sitemap\n\nThe first doesn't need any setup other than in the two files mentioned above. Serving the site will give following:\n\n- http://localhost:4000/robots.txt\n- http://localhost:4000/sitemap.xml\n\n### Feed and SEO Tag\n\nThe other two plugins have been added to the [defaults](_layouts/default.html) file as `{% feed_meta %}` and `{% seo %}` tags in the head (view the source of any page to see the result). If using a theme like `minima`, you will find that those are already included in the theme's default layout.\n\nThe RSS Feed is available here:\n\n- http://localhost:4000/feed.xml\n\nIf not overriding the configured `baseurl`, the paths of all pages (including the feed and sitemap) will be off of the subpath. The links inside the feed and sitemap files will reflect that too.\n\n\n## License\n\nReleased under [MIT](/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelcurrin%2Fthemeless-jekyll-quickstart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelcurrin%2Fthemeless-jekyll-quickstart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelcurrin%2Fthemeless-jekyll-quickstart/lists"}