Commit graph

124 commits

Author SHA1 Message Date
Igor Kuzmenko
f6c0429ddb Removed trailing space 2017-07-15 16:24:56 +02:00
David A. Harding
bb8e339b85
Layout: remove less CSS engine plugin & references 2017-06-23 11:49:28 -04:00
David A. Harding
a40fb73dab
Layout: render CSS with both "less" and "scss"
This commit renders the same CSS files using both the "less" and "scss"
CSS generation engines so that the results may be compared.  This is a
comparison script:

    old_main_css=$( grep -rl normalize.css _site/*.css )
    new_main_css=_site/css/main.css
    old_rtl_css=$( grep 'Language specific styles that override default' -rl _site/*.css )
    new_rtl_css=_site/css/rtl.css

    (
      diff -ub $old_main_css $new_main_css
      diff -ub $old_rtl_css $new_rtl_css
    )
2017-06-23 11:49:28 -04:00
David A. Harding
b9e114efe8
Build: allow repeated rebuilding in Jekyll Preview mode
The events and contributor plugins both monkey patched the `site`
object.  This worked fine when they were loaded once per site build, but
with Jekyll 3.0 automatic site rebuilding in preview and watch modes,
this applied the monkey patch recursively, causing the program to halt.

With this commit, the monkey patching should only occur once per run.
2017-06-23 11:46:20 -04:00
Will Binns
5472d7ebea Merge pull request #1609 from harding/chain-size-in-translation-string
Translations: variablize chain size in translation strings
2017-06-17 19:21:51 -06:00
David A. Harding
a0fa907b4a
Events plugin: stop requesting events from Meetup.com
Closes #1617 (Meetup.com events no longer display)
2017-06-03 08:52:21 -04:00
David A. Harding
29ede93b27
Translations: put chain size in l11n strings 2017-05-31 04:26:15 -04:00
Will Binns
9b93684599
templates: Drop avatar 2017-03-07 10:12:56 -06:00
Will Binns
77fd49b107
contributors: Fix broken test
GitHub recently made a change on their end to the URLs with which
profile images are stored. As a result, this has caused the profile
images on the About Us page to break, and tests to fail.

This updates the URL to what GitHub has switched to, in order to resolve
the issue.
2017-03-07 09:11:24 -06:00
David A. Harding
7d98f798ab
Upgrade to Jekyll 3.0
Gemfile:

  - Upgrade to Jekyll 3.x (3.0.1 tested).  This brings several new
    features I want to use, most notably *collections* which allows us
    to add blog-like collections. I've converted the `_releases` and
    `_alerts` pages into collections, although their plugins are
    maintained to handle the Download and Active Alert features.

  - Upgrade to latest Kramdown.

  - Lock Less at 2.4.0.  This prevents breaking our Less plugin.  Jekyll
    3.x provides native support for SCSS, so we may want to switch to
    that in time.

  - Lock HTML Proofer at 2.1.0.  The most recent version was taking
    forever to check our pages (I never actually got it to complete).
    I'll look into it when I get more time.

Makefile:

  - New `make clean` command.  Jekyll 3.x by default attempts to do
    incremental rebuilds.  The new `jekyll clean` command cleans up the
    metadata necessary for than so that a full build is performed, and
    this new `make clean` command is a wrapper around it so that we
    automatically do full rebuilds in the relevant cases.  Note: our
    plugins aren't fully compatible with the incremental rebuilds, but
    I'd like to fix that in the future.

  - Remove WEBrick hack to enable previewing with default URL paths (/
    instead of /index.html).

  - Filter out compliants from Rouge

README.md:

  - Now that Alerts (_alerts) are part of a collection, the file names
    are no longer parsed for dates, so instructions on adding the date
    to the YAML metadata have been added.

_alerts/*:

  - Now that alerts are part of a collection, the file names are no
    longer parsed to provide dates, so a `date:` field has been added to
    the YAML metadata.

_config.yml:

  - Some variables renamed per upgrade instructions.

  - Switched from old default syntax highlighter Pygments to new default
    Rouge.  I tried to use Rouge options to keep new output as similar
    to old output as possible to making diffing easy, but Rouge adds
    extra CSS class info.

  - Move `_alerts` and `_releases` into Jekyll 3.x "collections", which
    provide the organizational features we were using plugins to
    manange.  I haven't removed the old plugins because we still use
    some of their features (alerts.rb provides active issue and banner
    features; releases.rb provides info to Download page)

  - _layouts/* can no longer provide default global metadata; that is now
    provided in the new `defaults:` section in _config.yml.

_layouts/*:

  - Default metadata can no longer be provided in the layout files for
    collections, so I've removed it and left a message to see
    _config.yml.

_plugins/*:

  - Remove filter_for.rb. It's completely broken on Jekyll 3.x because
    of changes to Liquid which prevent adding new arguments to the
    inherited Liquid::For class. Existing uses of filter_for have been
    migrated to built-in for loops prefaced by sorts.

  - Remove remove-html-extension.rb: at it said in the comments, this
    was a temporary hack to get us to Jekyll 3.0.

_releases/*:

  - Rename all the files: prefix a v to the file name so the output html
    (e.g. v10.0.0.html) is the same as the source filename (e.g.
    v10.0.0.md).  This is necessary to migrate them to a Jekyll collection.

  - Remove %v from titles: we have to explicitly set the title, like we
    used to.  Again required for migration to collections.

_templates/events.html & en/rss/events.rss:

  - Sort events by date and then loop with regular for loop rather than
    filter_for

en/alerts.html & en/rss/alerts.rss:

  - Sort alerts by date and then loop with regular for loop rather than
    filter_for

en/bitcoin-core/index.md & en/version-history.html & en/rss/releases.rss:

  - Sort alerts by date and then loop with regular for loop rather than
    filter_for
2016-01-06 23:09:56 -05:00
Saivann
1ddfe6f2c7
Update sitemap plugin to include English pages from subdirectories 2015-09-14 06:03:22 -04:00
David A. Harding
706c791e92
New Bitcoin Core subsite
This commit contains a large number of contributions from Saïvann
Carignan.
2015-09-14 06:02:58 -04:00
David A. Harding
266ab858e2
Merge pulls #1048 and #1051
- 1048: Conditionally build some pages differently based on environmental variables
- 1051: Backend: cache events and contributor listings
2015-09-09 07:57:11 -04:00
David A. Harding
b3f4ba58f8
Backend: cache events and contributors 2015-09-07 08:18:42 -04:00
David A. Harding
adef074df5
New plugin env.rb to make env vars available in templates 2015-09-04 14:32:15 -04:00
David A. Harding
ec6c93e224
Alerts: Change 'Alias' Field To 'Shorturl'
Suggested by Saïvann (thanks!)
2015-07-25 10:18:46 -04:00
David A. Harding
bd21ecf3c9
Plugins: Allow alerts.rb To Process Markdown 2015-07-06 13:57:53 -04:00
Saivann
2d36e36464 Allow to set styles for alert banner 2015-07-05 21:11:23 -04:00
Saivann
0216bf3f64
Merge branch 'alertclickable' 2015-07-05 10:45:51 -04:00
Saivann
7748504b94
Use blog layout for alerts with clear RSS feeds 2015-07-04 13:48:02 -04:00
Saivann
227dc24d68
Make full alert banners clickable 2015-07-04 12:00:48 -04:00
David A. Harding
5e7dbab508
Repository Move: Manually Update URIs 2015-06-23 09:17:03 -04:00
David A. Harding
9cf76b2f18
New Plugin: Githubify Bitcoin Core Release Notes 2015-06-03 15:33:52 -04:00
Saivann
262b550c18 Separate event script from event data 2015-05-01 14:19:43 -04:00
David A. Harding
ec343d54d1 QA: Check HTML Correctness & Fix Existing Errors
- _contrib/bco-htmlproof: check HTML for correctness; fail on any errors

- _contrib/bco-htmlproof: accept path for individual page to help debug
  page problems

- (Many files) Convert `&` in numerous elements to `&`

- _templates/download.html: use Liquid filter to automatically escape
  `&` in magnet links.  Also premptively tell HTML not to check the
  magnet link when checking external links (this check is not currently
  enabled)

- _releases/*: Escape `<parameter>` used in multiple Bitcoin Core
  release notes

- _templates/choose-you-wallet.html: change mSigna URL from
  .../coinvault&referer=bitcoin.org to .../coinvault?referer=bitcoin.org

- _templates/community.html: fix duplicate anchors by renaming one
  anchor

- _templates/events.html: move Javascript to separate file because it
  contains forbidden HTML close tags within the `<script></script>`
  tags.

- (Many files, mostly in _translations/) Fix many broken open tags or
  missing close tags.

- _translatios/zh_TW.yml & ko.yml: fix a total of three invalid
  characters (control characters)
2015-04-27 09:12:11 -04:00
David A. Harding
d383940ecb
Bitcoin.pdf: Create Page Linking To Translations
- Adds a new page linking to all translations of Nakamoto's Bitcoin
  paper, and also provides instructions for adding new translations

- Changes all links on the site that used to point directly to the
  English bitcoin.pdf to point to the new page.

- Add Spanish Translation by Breathingdog, as well as Spanish strings
  for the now page also by Breathingdog
2015-04-24 15:05:55 -04:00
David A. Harding
a2a5f454cb
Revert "Revert "Merge pull #793: Dev Docs: New Glossary & JS Search Box""
This reverts commit 961d6c988f.
2015-04-14 08:55:53 -04:00
David A. Harding
3eee4811fd
Site Docs & Previews: Update Site Building/Previewing Docs
* New plugin: remove-html-extension falls back to /foo.html when /foo
  isn't found in `jekyll serve` mode.

* New Makefile target: `make preview` runs bundle exec jekyll serve

* Updated site docs to describe installing all required dependencies.
  Fully tested using a new install of Ubuntu Server 14.04.1
2015-04-12 15:20:35 -04:00
David A. Harding
ca7b97134d
Backend: Upgrade To Jekyll 1.3.0 & Remove Workarounds
* Require in Makefile that everyone use bundle to remove inconsistencies

* Require in Gemfile that everyone use Jekyll 1.3.*

* Require in Gemfile that everyone use Ruby 2.0.0 (already used by
  Travis and most developers)

* Remove workaround _plugin/svg.rb which showed SVG files in `jekyll
  serve` (fixed in Jekyll 1.0.0)

* Remove inconsistent file path workarounds in _plugins/autocrossref.rb
  and _plugins/inline-template.rb
2015-04-12 14:24:15 -04:00
David A. Harding
961d6c988f
Revert "Merge pull #793: Dev Docs: New Glossary & JS Search Box"
This reverts commit e3dcf0ce1f, reversing
changes made to c71e9fdf2d.

Once again we had a broken new plugin that Travis CI and local building
didn't catch.
2015-04-10 19:33:39 -04:00
Saivann
a790f353d0
Glossary: Various small fixes and improvements
Add link to the glossary from each definition
Fix missing BIP37 link
Fix searchbox width on mobiles
Apply more consistent margin and padding for the searchbox
Use H3 titles in the glossary_entry layout for better readability
Always use HTML classes for CSS stylesheets
Fix one typo in glossary.rb
2015-04-09 15:20:39 -04:00
David A. Harding
037cd4553a
Add New Glossary Page And Developer Search Feature
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.
2015-03-19 15:31:28 -04:00
David A. Harding
cbebe461ff Releases: Variablize Release Notes
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
2015-02-27 08:15:50 -05:00
David A. Harding
84f5b6f160
Dev Docs: Attempt To Fix Site Build Error On ntpd1.template
Reported in IRC
2015-02-25 08:05:15 -05:00
David A. Harding
79fd671e90
Add New Inline-Template Plugin
Also add inline template for RPC and REST tables
2015-02-20 15:38:53 -05:00
Saivann
9ac6bdd463
Downloads: Updates for v0.10.0
* Set filenames once in the download page

* Edit download page for new or updated files

* Add link to the source code, GitHub and torrent download

* Replace long sync instructions by short instructions to run a full node on the download page

Commit originated by Saïvann Carignan and updated by Dave Harding.
2015-02-16 03:03:20 -05:00
Saivann
f80aa4be3a Add Coinfest as an international event 2015-01-29 14:52:49 -05:00
Saivann
f80d57b7d7 Order release history and set latest version using versions number instead of releases date 2015-01-19 15:42:49 -05:00
David A. Harding
b8abfb2dcd
Dev Docs: Add 114 Pages Of New/Rewritten RPC Docs
* All previously-documented RPCs have had their text completely
  rewritten.

* All new RPCs and changed RPCs in Bitcoin Core 0.10.0 have been
  documented, except for hidden RPCs.

* A new RPC "Quick Reference" section has been added to make finding the
  right RPC easier.

* A "See Also" subsection has been added to the end of every RPC
  pointing to other relevant information.

* All previous examples in the RPC section have been re-run and updated
  as necessary.

* Syntax highlighting has been added wherever possible.

* Hash byte order has been specified as RPC byte order everywhere it's
  used in RPCs.
2014-12-24 18:46:03 -05:00
David A. Harding
f368d38e04
Dev Docs: Add "Edit|History|Report Issue|Discuss" Links To Subheads 2014-12-13 17:35:21 -05:00
Saivann
64a6f780be Merge branch 'license' 2014-11-28 10:54:28 -05:00
Saivann
78431fc891 Avoid printing "language disabled" twice in sitemap.rb and template.rb 2014-11-21 22:12:58 -05:00
Saivann
2a139a51a1 Set license files and headers for bitcoin.org's content 2014-11-21 19:09:12 -05:00
David A. Harding
cc13a10623
Merge branch 'data-messages' (pull #642) 2014-11-16 13:20:54 -05:00
Saivann
1db1455703 Manage events in a single file 2014-11-15 18:45:43 -05:00
David A. Harding
1634212dd5
Dev Docs: Add P2P Messages That Request Or Reply With Data
Adds to the devel reference page detailed documentation on the following
messages: block, getblocks, getdata, getheaders, headers, inv, mempool,
merkleblock, notfound, and tx.

Adds to the devel examples page an example of requesting and parsing a
merkleblock message.

Adds to the devel docs overview pages links to the above two new
P2P sections.

Tweaks the autocrossref plugin ignore pattern to not crossref in the
middle of a GIF image name; this allows the inclusion of animated GIFs.
2014-11-12 12:39:36 -05:00
Saivann
45cdb02ab9 Allow disabling plugins for faster preview 2014-11-08 13:56:41 -05:00
saivann
5417f48821 Merge pull request #621 from bitcoin/status
Display a status icon on the Network status menu entry
2014-10-30 13:05:52 -04:00
Saivann
50203f5cc4 Display a status icon on the Network status menu entry 2014-10-28 00:20:58 -04:00
David A. Harding
4553439eda
Dev Docs: Describe Initial Peer Discovery & DNS Seeds
* Revise P2P Networking section to provide a more detailed description
  of initial peer discovery and DNS seeds.

* Tweak autocrossref.rb to allow term blacklisting. Use this new feature
  to prevent cross referencing "address" in "IP address" to the
  definition of Bitcoin P2PKH/P2SH addresses.  This avoids a bunch of
  manual "norefs".
2014-10-25 16:14:32 -04:00