{"id":14979287,"url":"https://github.com/marcanuy/jekyll-skeleton","last_synced_at":"2025-08-22T03:04:03.537Z","repository":{"id":20699073,"uuid":"90642193","full_name":"marcanuy/jekyll-skeleton","owner":"marcanuy","description":"Scaffolding to start with a Jekyll website","archived":false,"fork":false,"pushed_at":"2024-03-19T00:11:44.000Z","size":815,"stargazers_count":33,"open_issues_count":1,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-09-29T02:42:19.881Z","etag":null,"topics":["i18n","internationalization","jekyll","jekyll-site","jekyll-skeleton","jekyll-website","multi-language","scaffolding","static-site","static-site-generator"],"latest_commit_sha":null,"homepage":"https://marcanuy.github.io/jekyll-skeleton/","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/marcanuy.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":"2017-05-08T15:13:02.000Z","updated_at":"2024-06-12T12:52:29.000Z","dependencies_parsed_at":"2024-09-19T02:02:36.318Z","dependency_job_id":null,"html_url":"https://github.com/marcanuy/jekyll-skeleton","commit_stats":{"total_commits":94,"total_committers":3,"mean_commits":"31.333333333333332","dds":0.1063829787234043,"last_synced_commit":"0fd917eed2ae09b4b62b4b756ea8613c659a8191"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcanuy%2Fjekyll-skeleton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcanuy%2Fjekyll-skeleton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcanuy%2Fjekyll-skeleton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcanuy%2Fjekyll-skeleton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcanuy","download_url":"https://codeload.github.com/marcanuy/jekyll-skeleton/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219859164,"owners_count":16556037,"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":["i18n","internationalization","jekyll","jekyll-site","jekyll-skeleton","jekyll-website","multi-language","scaffolding","static-site","static-site-generator"],"created_at":"2024-09-24T13:59:45.347Z","updated_at":"2024-10-11T19:22:17.995Z","avatar_url":"https://github.com/marcanuy.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"jekyll-skeleton\n===============\n\n[![Build Status](https://travis-ci.org/marcanuy/jekyll-skeleton.svg?branch=master)](https://travis-ci.org/marcanuy/jekyll-skeleton)\n\nJekyll scaffolding to start new websites. \u003chttps://marcanuy.github.io/jekyll-skeleton/\u003e\n\n\u003c!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-generate-toc again --\u003e\n**Table of Contents**\n\n- [jekyll-skeleton](#jekyll-skeleton)\n- [Overview](#overview)\n- [Features](#features)\n- [Design Philosophy](#design-philosophy)\n- [Commands](#commands)\n    - [Install](#install)\n    - [Serve](#serve)\n- [Usage](#usage)\n    - [Adding a new language](#adding-a-new-language)\n    - [Adding posts](#adding-posts)\n- [Plugins](#plugins)\n- [Final structure](#final-structure)\n- [Questions](#questions)\n- [Screenshots](#screenshots)\n    - [English homepage](#english-homepage)\n    - [Spanish homepage](#spanish-homepage)\n    - [German post](#german-post)\n\n\u003c!-- markdown-toc end --\u003e\n\n# Overview\n\nThis is a basic Jekyll site created with `jekyll new --blank` (without\nthemes, or example posts) to serve as a starting point for any\nwebsite.\n\nIts purpose is to quickly start new websites cloning this repo and\ncustomizing to your needs, having already all the features I was\nadding and configuring every time I created a new Jekyll instance.\n\nLive demo looks so \"*minimalistic*\" because it does not use any theme\nand its only goal is to show the design of the website navigation and\nhow to add posts/categories.\n\nIts structure uses the design described\nin\n[How To Add Bootstrap 4 To Jekyll The Right Way](https://simpleit.rocks/how-to-add-bootstrap-4-to-jekyll-the-right-way/),\n[Multilingual Jekyll Without Plugins](https://simpleit.rocks/multilingual-jekyll-without-plugins/) and\n[How To Implement Breadcrumbs On A Jekyll Site With Nested Categories](https://simpleit.rocks/how-to-create-breadcrumbs-with-hierarchical-categories-in-jekyll/)\narticles\napplied on a blank Jekyll instance with the suggestions provided by\nthe plugins below.\n\nJust clone this repo and start building yours.\n\n\tgit clone git@github.com:marcanuy/jekyll-skeleton.git\n\n# Features\n\n- Automatically generates at each \u003ckbd\u003ejekyll build\u003c/kbd\u003e:\n  - \u003chttp://sitemaps.org\u003e compliant sitemap at `/sitemap.xml`\n  - [Atom](https://tools.ietf.org/html/rfc4287) feed at\n    `/feed.xml`.\n- [SASS](http://sass-lang.com/) and easy customization of Bootstrap 4\n  variables in `/assets/main.scss` and `/_sass/_variables.scss`.\n- Automatically adds metadata tags for Search Engines and Social\n  Networks\n  - Page title, with site title or description appended\n\t\n\t\t\u003chead\u003e\n\t\t   \u003ctitle\u003e...\u003c/title\u003e\n\t\t\u003c/head\u003e\n\t\n  - Page description\n\t  \n\t\t\u003chead\u003e\n\t\t\t\u003cmeta name=\"description\" content=\"...\"/\u003e\n\t\t\u003c/head\u003e\n\t\t\n  - Canonical URL\n  \n\t\t\u003clink rel=\"canonical\" href=\"...\"/\u003e\n  \n  - Next and previous URLs on paginated pages\n  - JSON-LD Site and post metadata for richer indexing\n  \n\t\t\u003cmeta property=\"fb:app_id\" content=\"1822851531277021\"/\u003e\n\t\t\u003cscript type=\"application/ld+json\"\u003e\n\t\t{\"@context\": \"http://schema.org\",\n\t\t\"@type\": \"WebPage\",\n\t\t\"headline\": \"...\",\n\t\t\"description\": \"...\",\n\t\t\"url\": \"...\"}\u003c/script\u003e\n\t\t\n  - Open Graph title, description, site title, and URL (for Facebook,\n    LinkedIn, etc.)\n\t\n\t\t\u003cmeta property=\"og:title\" content=\"...\"/\u003e\n\t\t\u003cmeta name=\"description\" content=\"...\"/\u003e\n\t\t\u003cmeta property=\"og:description\" content=\"...\"/\u003e\n\t\t\u003cmeta property=\"og:url\" content=\"...\"/\u003e\n\t\t\u003cmeta property=\"og:site_name\" content=\"...\"/\u003e\n\t\t\u003cmeta property=\"og:type\" content=\"...\"/\u003e\n\t\t\u003cmeta property=\"article:published_time\" content=\"...\"/\u003e\n\t\t\u003cmeta property=\"fb:app_id\" content=\"...\"/\u003e\n\t\n  - Twitter Summary Card metadata\n\n\t\t\u003cmeta name=\"twitter:card\" content=\"summary\"/\u003e\n\t\t\u003cmeta name=\"twitter:site\" content=\"...\"/\u003e\n\t\t\u003cmeta name=\"twitter:creator\" content=\"...\"/\u003e\n\t\t\n  - Multilanguage\n\t- Language navigation menu for each page to all the other\n      translation versions\n\t\t\n\t    \t\u003ca hreflang=\"es\" href=\"http://example.com/es/foobar\" /\u003e\n\t\t    \u003ca hreflang=\"de\" href=\"http://example.com/de/foobar\" /\u003e\n\t\t\t\u003ca hreflang=\"en\" href=\"http://example.com/en/foobar\" /\u003e\n\t\t\t\n\t- [Alternate link elements](https://www.w3.org/TR/html5/links.html#rel-alternate) in the `head` section of HTML\n\t\n\t\t\t\u003clink rel=\"alternate\" hreflang=\"es\" href=\"http://example.com/es\" /\u003e\n\t\t\t\u003clink rel=\"alternate\" hreflang=\"de\" href=\"http://example.com/de\" /\u003e\n\t\t\t\u003clink rel=\"alternate\" hreflang=\"en\" href=\"http://example.com/en\" /\u003e\n\n- Redirects from default language subfolder to site homepage (`/en` -\u003e `/`)\n- [Breadcrumbs](https://www.w3.org/TR/html5/common-idioms.html#rel-up) for pages and posts\n        \n            \u003c!-- url: /jekyll-skeleton/en/example-post --\u003e\n            \u003col class=\"breadcrumb\"\u003e\n\t\t\t\t\u003cli class=\"breadcrumb-item\"\u003e\u003ca href=\"/jekyll-skeleton/\"\u003e\u003ci class=\"fa fa-home\" aria-hidden=\"true\"\u003e\u003c/i\u003e\u003c/a\u003e\u003c/li\u003e\n\t\t\t\t\u003cli class=\"breadcrumb-item \"\u003e\n\t\t\t\t\u003ca href=\"/jekyll-skeleton/en\"\u003een\u003c/a\u003e \n\t\t\t\t\u003c/li\u003e\n\t\t\t\t\u003cli class=\"breadcrumb-item active\"\u003e\n\t\t\t\tExample Post\n\t\t\t\t\u003c/li\u003e\n\t\t\t\u003c/ol\u003e\n\n# Design Philosophy\n\n**jekyll-skeleton** has been built with the following principles in\nmind:\n\n- Uses [Yarn](https://github.com/yarnpkg/yarn) to manage libraries, assets, and utilities.\n  - Bootstrap 4.\n  - Font Awesome.\n- Gem theme independent.\n- Optimized for multilanguage.\n- Follows `jekyll-seo-tag` usage suggestions.\n\n# Commands\n\n## Install\n\n~~~ bash\ngit clone https://github.com/marcanuy/jekyll-skeleton\ncd jekyll-seleton\nmake install\n~~~\n\n## Serve\n\n~~~ bash\nmake serve\n~~~\n\n# Usage\n\n## Adding a new language\n\nAdd the language to `_config.yml`:\n\n\tdefaults:\n\t  #languages\n\t  -\n\t\tscope:\n\t\t  path: \"\"\n\t\tvalues:\n\t\t  lang: \"en\"\n\t\t  layout: default\n\t  -\n\t\tscope:\n\t\t  path: \"es\"\n\t\tvalues:\n\t\t  lang: \"es\"\n\nIts name to `_data/locales.yml` and an equivalent to each page in the\nlanguage in `/_data/map.yml`:\n\n\t-\n\t  en: index.html\n\t  es: es/index.html\n\t-\n\t  en: about.html\n\t  es: es/acerca.html\n\n## Adding posts\n\nAdd a post in each language located in the language subdirectory:\n`/en`, `es`, etc.\n\nThe following properties in posts front-matter are used:\n\n    ---\n    title:       # jekyll-seo-tag - The title of the post, page, or document\n    description: # jekyll-seo-tag - A short description of the page's content\n    image:       # jekyll-seo-tag - URL to an image associated with the post, page, or document (e.g., /assets/page-pic.jpg)\n    author:      # jekyll-seo-tag - Page-, post-, or document-specific author information (see below)\n    lang:        # jekyll-seo-tag - Page-, post-, or document-specific language information\n    ---\n\n# Plugins\n\n*Jekyll-skeleton* uses the following plugins:\n\n- \u003chttps://github.com/toshimaru/jekyll-toc\u003e  A liquid filter plugin\n  for Jekyll which generates a table of contents.\n- \u003chttps://github.com/jekyll/jekyll-sitemap\u003e Jekyll plugin to silently\n  generate a sitemaps.org compliant sitemap for your Jekyll site.\n- \u003chttps://github.com/gjtorikian/html-proofer\u003e Test your rendered HTML\n  files to make sure they're accurate.\n- \u003chttps://github.com/jekyll/jekyll-feed\u003e A Jekyll plugin to generate\n  an Atom (RSS-like) feed of your Jekyll posts\n- \u003chttps://github.com/jekyll/jekyll-redirect-from\u003e Specify multiple\n  redirections URLs for pages and posts.\n\nIf you want to host a site derived from this repo in Github, you can\nfollow this guide: [Automated Deployment Of Jekyll Websites To Github Pages With A Git Push To Github ](https://simpleit.rocks/automated-deployment-of-jekyll-websites-to-github-pages-with-a-git-push-to-github/).\n\n# Final structure\n\n\u003cpre\u003e\n\u003csamp\u003e\n\u003cspan \u003e$\u003c/span\u003e \u003ckbd\u003emake build\u003c/kbd\u003e\nrm -fr _site/\nrm -fr assets/vendor/ #from yarn\nrm -fr assets/fonts #fontawesome dependency\nrm -fr .sass_cache\nbundle install --path vendor/bundler\nWarning: the running version of Bundler (1.13.6) is older than the version that created the lockfile (1.15.0). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.\nUsing concurrent-ruby 1.0.5\nUsing i18n 0.8.1\nUsing minitest 5.10.2\nUsing thread_safe 0.3.6\nUsing public_suffix 2.0.5\nUsing colorator 1.1.0\nUsing colored 1.2\nUsing ffi 1.9.18\nUsing forwardable-extended 2.6.0\nUsing mercenary 0.3.6\nUsing mini_portile2 2.1.0\nUsing parallel 1.11.2\nUsing yell 2.0.7\nUsing sass 3.4.24\nUsing rb-fsevent 0.9.8\nUsing kramdown 1.13.2\nUsing liquid 3.0.6\nUsing rouge 1.11.1\nUsing safe_yaml 1.0.4\nUsing bundler 1.13.6\nUsing tzinfo 1.2.3\nUsing addressable 2.5.1\nUsing ethon 0.10.1\nUsing rb-inotify 0.9.8\nUsing pathutil 0.14.0\nUsing nokogiri 1.7.2\nUsing jekyll-sass-converter 1.5.0\nUsing activesupport 5.1.1\nUsing typhoeus 0.8.0\nUsing listen 3.0.8\nUsing jekyll-toc 0.2.1\nUsing html-proofer 3.7.2\nUsing jekyll-watch 1.5.0\nUsing jekyll 3.4.3\nUsing jekyll-feed 0.9.2\nUsing jekyll-redirect-from 0.12.1\nUsing jekyll-seo-tag 2.2.3\nUsing jekyll-sitemap 1.1.1\nBundle complete! 7 Gemfile dependencies, 38 gems now installed.\nBundled gems are installed into ./vendor/bundler.\nyarn install\nyarn install v0.24.5\n[1/4] Resolving packages...\nsuccess Already up-to-date.\nDone in 0.38s.\nmkdir -p assets/vendor/\ncp node_modules/font-awesome/css/font-awesome.min.css assets/vendor/\ncp -r node_modules/font-awesome/fonts assets\ncp node_modules/jquery/dist/jquery.min.js assets/vendor/\ncp node_modules/tether/dist/js/tether.min.js assets/vendor/\ncp node_modules/bootstrap/dist/js/bootstrap.min.js assets/vendor/\nbundle exec jekyll build\nConfiguration file: /tmp/jekyll-skeleton/_config.yml\n            Source: /tmp/jekyll-skeleton\n       Destination: /tmp/jekyll-skeleton/_site\n Incremental build: disabled. Enable with --incremental\n      Generating... \n                    done in 5.474 seconds.\n Auto-regeneration: disabled. Use --watch to enable.\n\n\u003cspan \u003e$\u003c/span\u003e \u003ckbd\u003etree -L 3 _site/\u003c/kbd\u003e\n_site/\n├── assets\n│   ├── fonts\n│   │   ├── FontAwesome.otf\n│   │   ├── fontawesome-webfont.eot\n│   │   ├── fontawesome-webfont.svg\n│   │   ├── fontawesome-webfont.ttf\n│   │   ├── fontawesome-webfont.woff\n│   │   └── fontawesome-webfont.woff2\n│   ├── main.css\n│   └── vendor\n│       ├── bootstrap.min.js\n│       ├── font-awesome.min.css\n│       ├── jquery.min.js\n│       └── tether.min.js\n├── de\n│   ├── beispiel-post.html\n│   ├── index.html\n│   └── unterkategorie1\n│       ├── index.html\n│       └── post-in-unterkategorie.html\n├── deploy_key.enc\n├── en\n│   ├── example-post.html\n│   ├── index.html\n│   └── subcategory1\n│       ├── index.html\n│       └── post-in-subdirectory.html\n├── es\n│   ├── index.html\n│   ├── post-ejemplo.html\n│   └── subcategoria1\n│       ├── index.html\n│       └── post-en-subdirectorio.html\n├── feed.xml\n├── index.html\n├── LICENSE\n├── package.json\n├── README.md\n├── robots.txt\n├── sitemap.xml\n└── yarn.lock\n\n9 directories, 32 files\n\n\u003cspan \u003e$\u003c/span\u003e \u003ckbd\u003emake check\u003c/kbd\u003e\nbundle exec jekyll doctor\nConfiguration file: /tmp/jekyll-skeleton/_config.yml\n  Your test results are in. Everything looks fine.\nbundle exec htmlproofer --check-html \\\n\t--http-status-ignore 999 \\\n\t--internal-domains marcanuy.github.io,localhost:4000 \\\n\t--assume-extension \\\n\t_site\nRunning [\"ScriptCheck\", \"LinkCheck\", \"HtmlCheck\", \"ImageCheck\"] on [\"_site\"] on *.html... \n\n\nChecking 14 external links...\nRan on 13 files!\n\n\nHTML-Proofer finished successfully.\n\n\u003c/samp\u003e\n\u003c/pre\u003e\n\n# Questions\n\nFeel free to open issues and/or contributing!\n\n# Screenshots\n\n## English homepage\n\n![English](http://imgur.com/fIi9WUcl.png) \n\n## Spanish homepage\n\n![Spanish](http://imgur.com/d670IESl.png ) \n\n## German post\n\n![Deutsch](http://imgur.com/kPQPuuhl.png ) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcanuy%2Fjekyll-skeleton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcanuy%2Fjekyll-skeleton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcanuy%2Fjekyll-skeleton/lists"}