Skip to content
This repository has been archived by the owner on May 17, 2022. It is now read-only.

Commit

Permalink
Structure and conf.py changes
Browse files Browse the repository at this point in the history
Set-up Structure of Docs and created some pages
  • Loading branch information
Hudson Jameson committed Jan 18, 2016
1 parent 06428bc commit 75f46a5
Show file tree
Hide file tree
Showing 24 changed files with 275 additions and 3 deletions.
Empty file added source/base-layer-services.rst
Empty file.
Empty file added source/block-explorers.rst
Empty file.
Empty file.
9 changes: 9 additions & 0 deletions source/community.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

Fora [github, wiki, gitter, reddit, forum, stackoverflow]
=============

Hubs
=============

Meetups
=============
8 changes: 7 additions & 1 deletion source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@
#sys.path.insert(0, os.path.abspath('.'))

# -- General configuration ------------------------------------------------
def setup(sphinx):
sys.path.insert(0, os.path.abspath('./utils'))
from SolidityLexer import SolidityLexer
sphinx.add_lexer('Solidity', SolidityLexer())

# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
Expand Down Expand Up @@ -78,7 +82,7 @@

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = []
exclude_patterns = ['_build']

# The reST default role (used for this markup: `text`) to use for all
# documents.
Expand All @@ -98,6 +102,8 @@
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'

highlight_language = 'Solidity'

# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []

Expand Down
7 changes: 7 additions & 0 deletions source/contracts-and-transactions.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
###################
Contracts and Transactions
###################

.. toctree::
:maxdepth: 2

Empty file added source/dapps.rst
Empty file.
7 changes: 7 additions & 0 deletions source/developing-on-ethereum.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
###################
Developing on Ethereum
###################

.. toctree::
:maxdepth: 2

Empty file added source/disclaimer.rst
Empty file.
16 changes: 16 additions & 0 deletions source/ethereum-ecosystem.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
###################
Ethereum Ecosystem
###################

.. toctree::
:maxdepth: 2

client-implimentations.rst
evm-compilers.rst
block-explorers.rst
miscellaneous-tools.rst
exchanges.rst
mining-pools.rst
base-layer-services.rst
dapps.rst
community.rst
Empty file added source/evm-compilers.rst
Empty file.
Empty file added source/exchanges.rst
Empty file.
7 changes: 7 additions & 0 deletions source/frequently-asked-questions.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
###################
Frequently Asked Questions
###################

.. toctree::
:maxdepth: 2

Empty file added source/glossary.rst
Empty file.
Empty file added source/history-of-ethereum.rst
Empty file.
119 changes: 117 additions & 2 deletions source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,25 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to homestead guide's documentation!
Welcome to Ethereum Homestead Documentation!
===========================================

Contents:
Contents
========

:ref:`Keyword Index <genindex>`, :ref:`Search Page <search>`

.. toctree::
:maxdepth: 2

introduction.rst
ethereum-ecosystem.rst
using-ethereum-the-basics.rst
solidity-in-depth.rst
contracts-and-transactions.rst
developing-on-ethereum.rst
frequently-asked-questions.rst



Indices and tables
Expand All @@ -20,3 +31,107 @@ Indices and tables
* :ref:`modindex`
* :ref:`search`


Structure of Guide
==================

Introduction
- What is Ethereum?
- The Homestead Release
- History of Ethereum[focus on brevity vs completeness with links to outside resources]
- Disclaimer [security/legal warning, etc.]
- Glossary [of Common Ethereum Terms]

Ethereum Ecosystem
- Ethereum Network Stats
- Client Implementations
- EVM Compilers
- Block Explorers
- Miscellaneous Tools
- Exchanges
- Mining Pools
- Base Layer Services
- DApps
- Community
* Fora [github, wiki, gitter, reddit, forum, stackoverflow]
* Hubs
* Meetups

Using Ethereum: The Basics
- Installing a Client
* Linux
* Windows
* Mac
* iOs
* Android
* Raspberry Pi
* ARM
* Binaries
* Source Installation
- Creating an Account
* Using Console
* Using EthKey
* Using Mist
* Using RPC
- Account Management
* What are keys, wallets, and accounts?
* Keys
* Wallets
* Accounts (EOA) [Externally Owned Accounts are referenced here. make sure to differentiate from contract accounts that are mentioned later in the guide]
- Backup/Import Accounts
* Backing Up Wallets
* Importing Wallets [including pre-sale wallets]
* Online wallets, Paper Wallets and Cold Storage
- Ether
* What is Ether?
* [Table of Sub Units]
* Getting Ether [Will point to mining and exchanges pages with explanation of both]
* Sending Ether
- Mining
* CPU Mining
* GPU Mining
* Pool Mining [Will link to mining pools list in ecosystem section]

Contracts and Transactions
- Account Types, Gas, and Transactions
* EOA vs Contract Accounts
* What is a Transaction? [in the context of Ethereum]
* What is Gas? [explain that it is the fuel for Ethereum transactions]
* Estimating Gas
* Lifecycle of a Transaction
* Transaction Pool
* Signing Transactions Offline
- Contracts
* What is a Contract?
* Steps to Creating a Contract
* Write the Contract [Point to solidity docs, but give small example of contract]
* Compile the Contract [use same example]
* Create and Deploy the Contract
* Interacting with a Contract
* Console
* web3.js
* RPC
- Accessing Contracts and Transactions
* APIs
* Console
* RPC
* Javascript
* [Link to blockchain explorers page]


Developing on Ethereum
- Developer Tools
* IDEs/Frameworks
* High Level Languages
* Other Tools
- DApp Development
* Web3
* Conntecting to Morden Testnet
* Setting Up Private Testnet
- Web3 Base Layer Services
* SWARM
* Whisper
* Name Registry
* Contract Registry

Frequently Asked Questions
13 changes: 13 additions & 0 deletions source/introduction.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
###################
Introduction
###################

.. toctree::
:maxdepth: 2

what-is-ethereum.rst
the-homestead-release.rst
solidity-in-depth.rst
history-of-ethereum.rst
disclaimer.rst
glossary.rst
Empty file added source/mining-pools.rst
Empty file.
Empty file added source/miscellaneous-tools.rst
Empty file.
Empty file added source/solidity-in-depth.rst
Empty file.
Empty file.
7 changes: 7 additions & 0 deletions source/using-ethereum-the-basics.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
###################
Using Ethereum: The Basics
###################

.. toctree::
:maxdepth: 2

85 changes: 85 additions & 0 deletions source/utils/SolidityLexer.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# -*- coding: utf-8 -*-

import re
import copy

from pygments.lexer import RegexLexer, ExtendedRegexLexer, bygroups, using, \
include, this
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
Number, Other, Punctuation, Literal

__all__ = ['SolidityLexer']

class SolidityLexer(RegexLexer):
name = "Solidity"
aliases = ['sol', 'solidity']
filenames = ['*.sol']
mimetypes = []
flags = re.DOTALL
tokens = {
'commentsandwhitespace': [
(r'\s+', Text),
(r'<!--', Comment),
(r'///', Comment.Special, 'docstringsingle'),
(r'//.*?\n', Comment.Single),
(r'/\*\*', Comment.Special, 'docstringmulti'),
(r'/\*.*?\*/', Comment.Multiline)
],
'natspec': [
(r'@author|@dev|@notice|@return|@param|@why3|@title', Keyword),
(r'.[^@*\n]*?', Comment.Special)
],
'docstringsingle': [
(r'\n', Comment.Special, '#pop'),
include('natspec')
],
'docstringmulti': [
(r'\*/', Comment.Special, '#pop'),
include('natspec')
],
'slashstartsregex': [
include('commentsandwhitespace'),
(r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
r'([gim]+\b|\B)', String.Regex, '#pop'),
(r'(?=/)', Text, ('#pop', 'badregex')),
(r'', Text, '#pop')
],
'badregex': [
(r'\n', Text, '#pop')
],
'root': [
(r'^(?=\s|/|<!--)', Text, 'slashstartsregex'),
include('commentsandwhitespace'),
(r'\+\+|--|\*\*|~|&&|\?|:|\|\||\\(?=\n)|'
r'(<<|>>>?|==?|!=?|[-<>+*%&\|\^/])=?', Operator, 'slashstartsregex'),
(r'[{(\[;,]', Punctuation, 'slashstartsregex'),
(r'[})\].]', Punctuation),
(r'(for|in|while|do|break|return|continue|switch|case|default|if|else|'
r'throw|try|catch|finally|new|delete|typeof|instanceof|void|'
r'this|import|mapping|returns|private|public|external|internal|'
r'constant|memory|storage)\b', Keyword, 'slashstartsregex'),
(r'(var|let|with|function|event|modifier|struct|enum|contract)\b', Keyword.Declaration, 'slashstartsregex'),
(r'(bytes|string|address|uint|int|bool|byte|' +
'|'.join(
['uint%d' % (i + 8) for i in range(0, 256, 8)] +
['int%d' % (i + 8) for i in range(0, 256, 8)] +
['bytes%d' % (i + 1) for i in range(0, 32)]
) + r')\b', Keyword.Type, 'slashstartsregex'),
(r'(abstract|boolean|byte|char|class|const|debugger|double|enum|export|'
r'extends|final|float|goto|implements|int|interface|long|native|'
r'package|private|protected|public|short|static|super|synchronized|throws|'
r'transient|volatile)\b', Keyword.Reserved),
(r'(true|false|null|NaN|Infinity|undefined)\b', Keyword.Constant),
(r'(Array|Boolean|Date|Error|Function|Math|netscape|'
r'Number|Object|Packages|RegExp|String|sun|decodeURI|'
r'decodeURIComponent|encodeURI|encodeURIComponent|'
r'Error|eval|isFinite|isNaN|parseFloat|parseInt|document|this|'
r'window)\b', Name.Builtin),
(r'[$a-zA-Z_][a-zA-Z0-9_]*', Name.Other),
(r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
(r'0x[0-9a-fA-F]+', Number.Hex),
(r'[0-9]+', Number.Integer),
(r'"(\\\\|\\"|[^"])*"', String.Double),
(r"'(\\\\|\\'|[^'])*'", String.Single),
]
}
Empty file added source/what-is-ethereum.rst
Empty file.

0 comments on commit 75f46a5

Please sign in to comment.