This commit adds the code necessary to generate a new
en/developre-glossary page with entry pages in the en/glossary/
directory, e.g. en/glossary/51-percent-attack.
The glossary page and the individual term pages feature a JavaScript
search engine (no CGI) for just glossary terms. This search box has
also been added to the following pages:
* Developer Documentation (the index page)
* Developer Guide
* Developer Reference
* Developer Examples
The search box requires the following MIT-licensed libraries:
* JQuery
* JQuery UI
* JQuery UI CSS stylesheet
These allow our JS code to be almost trivially simple in js/devsearch.js
This commit adds only code. Actual glossary entry data will be added in
a subsequent commit.
Uses Ruby html-proofer to check the links. This commit also fixes the
various problems it found, as well as dealing with some of its
non-problem complaints (it doesn't like anchor (a) tags without either
an href, name, or id).
Running HTML proofer takes about 12 minutes on my system (with up to two
threads), during which it prints no text. Travis CI times out after 10
minutes of nothing being written to stdout, so this commit also adds a
background process the Makefile to print a line every minute while make
runs.
Add additional variables to the release note files to allow setting the
version number and date. The version number is required, and can be
used to automatically set the release notes title. The date is optional
and can be set hours/days after the release.
Additionally, a Makefile test is added that checks whether the download
files exist on the Bitcoin.org server. This can help prevent creating a
broken Download page.
* Set variables for all previous releases
* Document variables in README.md
* Update code and templates to use variables
* Add the Download page links to the "dl" CSS class. Also add newlines
to make the HTML a bit easier to parse using sed
* Add a new Liquid plugin to print warnings. This is used to print a
non-error warning if any release is created without the optional date
This commit adds an extra step to the build process to SHA256 checksum
all the files that are built purely based on repository contents. The
checksums file is uploaded to the webserver with the rest of the site
content.
A separate target is added to the Makefile to compare the remote
sha256sums file to a locally-built file to see if they differ. This
allows us to detect when a remote build may have gone astray.
BitLegal.io is no longer active, with whois saying the domain is being
deleted. As suggested by Reddit user /u/SatoshisGhost (thanks!), this
replaces the links to bitlegal with links to a Wikipedia article:
s^http://bitlegal.io/^https://en.wikipedia.org/wiki/Legality_of_bitcoin_by_country^
If a better resource appears, we can link to that instead.
* Pull #711: Add Basic "How To Run A Full Node" Page
* Pull #752: Revert "Drop good tor privacy score for mycelium"
* Pull #758: Dev Docs: Add Inline Template Plugin And Use It For RPC/REST
Run sed -i -f <this_file.sed> _includes/ref/bitcoin-core/rpcs/rpcs/* _includes/ref/bitcoin-core/rest/requests/get_* _includes/helpers/vars.md
## On lines that start with a pipe:
/^|/ {
## Delete all table header/table body divider lines
/|----/d;
## Escape all double quotes
s/"/\\"/g;
## Replace lines that look like NTPD headers with a itemplate start block
s/^| Name *| Type.*/{% itemplate ntpd1 %}/;
## Delete extraneous whitespace
s/ *|/|/g;
## Replace the first pipe with "- name:" plus a start quote
s/^| */- n: "/;
## Replace the remaining pipes, starting each one with a newline and two spaces
s/| */"\n t: "/;
s/| */"\n p: "/;
s/| */"\n d: "/;
## Add a close quote and an empty line after the last list item
## built from a single table row, except for the header row. This
## improves readability/maintainability
/[^}]$/s/$/"\n/;
}
## Replace the old table class with the itemplate close tag
s/{:.ntpd}/{% enditemplate %}/