Developer reference/guide updates to this point
* Update some reference documents
- Adjust ref_intro to reference Dash
- Start updating p2p network ref
- Adjust some items in references.md to point to Dash URLs
* Update P2P networking protocol versions and message headers sections
Update subheading-links
Update more items in references.md
* Update inventories to include Dash specific items
- Update references.md with them also
Update disclaimer (Bitcoin -> Dash)
* Remove reference to bitcoin mailing list from ref_intro
* Add Spork/GetSporks message details
Add placeholders for Dash specific messages
- Added subsections for InstantSend, PrivateSend, Masternodes, and
Governance
* Some Bitcoin->Dash conversions
- Update title / section name for Dev Doc/Dev Reference
- Updated favicon
* Updates for the Data Network section of P2P reference
* Added Alert message details from Bitcoin back and removed feefilter
* More updates for Control Messages section of P2P network
- Bitcoin->Dash reference changes
- Reject and Version message updates
* InstantSend subsection of P2P reference detail
- Added ix, txlvote message details and associated references
* Governance subsection (P2P)
- Start adding govobj, govobjvote details
- Add spork references
* Missed spork xref in previous
* Governance (P2P) updates
- Add details to govobjvote and govsync
* Governance object P2P messages
- Add additional description/details
* PrivateSend P2P messages
- Added details for dsa, dsc, dsf, dsi, dsq, dss, dssu, and dstx
messages
- Added references also
- Hexdump examples for all but dsi and dss
* PrivateSend P2P minor updates
* Masternode P2P messages
- Add descriptions
- Add hexdump details
* Masternode P2P messages (dseg, mnb, mnget, mnp, mnv, mnw, mnwb, ssc)
- Add reference/crossref entries
- Add message structure
* P2P messages - minor formatting and corrections
* Block chain reference
- Version info updates
* Update Block Chain reference (Headers)
- Update version details
- Update block reward info
* Update Transactions reference
- Add some Dash specific updates
* Minor Transactions reference change
* RPC reference updates
* RPC reference updates
- Added/removed commands to match available Dash commands
* Core API updates
* Renamed devdocs/bitcoin-core to dash-core
- Updated developer-reference.md to point at new location
* Update filename to use dash-core instead of bitcoin-core
* Add Dash-specific GetAddressBalance RPC command and associated updates
Update RPC quick reference list
* Added cross reference/reference placeholders for remaining GetAddress... RPC commands
Added RPC template placeholder files for remaining GetAddress...
commands
* Scripts for environment setup and frequently used builds
* Add details for GetAddressDeltas/Mempool RPCs
Update path in Makefile bitcoin-core -> dash-core
* Add GetAddressTxids/Utxos details
Update minor formatting, etc. for GetAddressBalance/Deltas/Mempool
Changed reference to Dash Core and updated denominations for Dash
* Misc minor cleanup
* Work on updating existing Block Chain RPCs
- GetBestBlockHash, GetBlock, GetBlockChainInfo, GetBlockCount,
GetBlockHash
* Continue updating existing Block Chain RPCs
- GetBlockHeader, GetChainTips, GetDifficulty, GetMemPoolInfo,
GetRawMemPool
* Update RPCs quick-ref
- Added descriptions for Dash
- Updated description for Bitcoin related items for clarity
* Comment out content of non-implemented Block chain RPCs (GetMemPoolAncestors, GetMemPoolDescendants, GetMemPoolEntry, PreciousBlock, PruneBlockChain)
* Continue updating existing Block Chain RPCs
- GetTxOut, GetTxOutProof, GetTxOutSetInfo, VerifyChain,
VerifyTxOutProof
Update previous block hash type to indicate X11 instead of double SHA256
* Add script to create basic RPC md file
Set up empty GetBlockHashes/Headers and GetSpentInfo RPCs
* Add GetBlockhashes details
Minor correction in Empty RPC generation script
* Add GetBlockHeaders details
Minor formatting updates
* Update Address Index related RPCs to indicate the necessity of enabling addressindex to use them
* Actual details of GetBlockHeaders
* Add details for GetSpentInfo
* Update existing Control RPCs (GetInfo, Help, Stop)
* Add Debug RPC
* Expand empty RPC generation script to add example section and fix format
* Added empty RPC files and cross-ref details for all Dash RPCs
* Add details for some Dash RPCs
- GetGovernanceInfo, GetPoolInfo, GetSuperblockBudget
* Add details for MasternodeList RPC (Dash section)
* Add details for MnSync RPC (Dash section)
* Dash RPC updates
- Add Result section to MasternodeList
- Formatting updates to MnSync
* Expand script to add placeholders for parameters/resuls/example
* Add details for PrivateSend RPC (Dash section)
* Update Generating RPCs
- Added details back for GetGenerate/SetGenerate which were deprecated
in Bitcoin
* Formatting and example updates
* Add result detail and example to GetBlockTemplate
* Update existing Mining RPCs
- GetMiningInfo, GetNetworkHashPs, PrioritiseTransaction, SubmitBlock
* Minor formatting updates
* Update most existing Network RPCs
- AddNode, ClearBanned, DisconnectNode, GetAddedNodeInfo,
GetConnectionCount, GetNetTotals,GetNetworkInfo, GetPeerInfo,
ListBanned, Ping, SetBan
- Added some norefs as needed (Network RPCs only)
* Misc cleanup
* SetNetworkActive (Network RPC)
* Misc updates
- Change logo
- Disable some headers (alert, donation)
- Disable footer
* Governance updates
- Add description of govsync to P2P guide
- Updates to P2P reference
* Governance
- Add governance message SVG image
- Typo fixes
* Dseg updates
- Added clarifying details regarding how to request single/all nodes
- Ban warning
* Minor governance updates
* Governance updates / MN sync
- Correct some reference links
- Add MN sync info to guide
- Update dseg, mnget, ssc, and govsync messages to include more detail
* Governance updates
- Guide updated to show both stages of govsync
- Reference
- Correcte ssc typo and add sync item detail
- Update govobjvote to include detail about propagation
- Update govsync details
* Governance updates
- More clarification on govsync (guide and reference)
* Raw Transaction RPC
- Previously uncommitted CreateRawTransaction update
* Dash RPC (Gobject)
- Add details for count and get sub-commands
Also added description for govobj types
* P2P messages
- Spork updated to include verification details and a hexdump
Minor typo / note updates
* P2P Message - mnv
- Draft details regarding use and operation
* P2P message (mnv)
- Additional detail updates based on info from Udjin
Minor update to mnp
* Guide - Masternode payment
- Add section and start putting in details
* P2P Messages - deprecated
- Move deprecated messages to their own group
* Misc minor non-content updates
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
)
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.
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.
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
- _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)
- 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
* 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
* 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
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.
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
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.
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
* 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.
* 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.