This repository is the source code of the Bitcoin Core project website built with Jekyll.
_posts/<lang>/postsfor blog articles._posts/<lang>/pagesfor static pages._posts/<lang>/releasesfor Bitcoin Core release notes
File names must be in the format Y-m-d-title.md, e.g. 2015-12-31-title.md. File names can be translated.
See CONTRIBUTING.md for more information.
The following Front Matter is required for the multilingual setup in all files. The required fields are as follows:
name:group name for unique article. Each translation must share the same group name, e.g.october15-reportid:each article translation must have a unique ID. Use the language code +-namefield. e.g.en-october15-reportpermalink:must include the language code and end with a trailing slash, e.g./en/2015/12/31/report/.title:the translated title of the articletype:the content type (pages,posts,releases,meetings, etc.)layout:the layout template (page,post, etc.)lang:the language code (en,fr, etc.)
---
title: Short Title
name: short-title
layout: post
type: posts
lang: en
id: en-short-title
permalink: /en/2016/01/01/short-title
---
This website is based on Jekyll. To build locally, install Ruby 3.1.2 using system packages, rvm, rbenv, or another method. An alternative is to use Docker, for which instructions are available here. Then clone this repository and change directory into it:
git clone https://github.com/bitcoin-core/bitcoincore.org.git
cd bitcoincore.org
Install the bundle utility using the Ruby package manager, gem, and
then use bundle to install the rest of the Ruby packages needed to
build this site. Note, depending on your system configuration, you may
need to run gem as the superuser by putting "sudo" followed by a space
before the gem command. You shouldn't need to use sudo with the
bundle command.
gem update --system
gem install bundler
bundle install
To preview the site (this will launch a tiny webserver on port 4000):
bundle exec jekyll server --future
To simply build the site (output placed in the _site directory):
bundle exec jekyll build --future
Note that the --future parameter is only required if you're adding any
pages dated in the future (such as prepared release announcements).
To test the site:
bundle exec jekyll build --future --drafts --unpublished
bundle exec htmlproofer --check-html --disable-external --url-ignore '/^\/bin/.*/' ./_site
The additional parameters to jekyll build ensure that all possible
pages are built and checked.
Contributions welcome. Please see CONTRIBUTING.md for details.
The website uses an old version of the Minimal Mistakes theme. The theme's website provides documentation, including information about configuration variables, creating pages and posts, adding new Javascript, and more. Note that current documentation may describe features not available in the old version of the theme used by the website.