Merge lp:~teknico/juju-gui/1086512-revise-docs into lp:juju-gui/experimental

Proposed by Nicola Larosa
Status: Merged
Merged at revision: 276
Proposed branch: lp:~teknico/juju-gui/1086512-revise-docs
Merge into: lp:juju-gui/experimental
Diff against target: 713 lines (+290/-251)
8 files modified
HACKING (+197/-0)
Makefile (+4/-2)
README (+37/-197)
docs/architecture.rst (+29/-30)
docs/d3-component-framework.rst (+8/-8)
docs/index.rst (+1/-0)
docs/process.rst (+6/-6)
docs/style-guide.rst (+8/-8)
To merge this branch: bzr merge lp:~teknico/juju-gui/1086512-revise-docs
Reviewer Review Type Date Requested Status
Juju GUI Hackers Pending
Review via email: mp+139226@code.launchpad.net

Description of the change

Put deploy docs in README, add HACKING.

Move the development instructions from the README file to a newly created HACKING one, update them, link the HACKING into the docs. Put deploying instructions in the README file. Revise all docs updating them, and fixing markup and links.

https://codereview.appspot.com/6924047/

To post a comment you must log in.
Revision history for this message
Nicola Larosa (teknico) wrote :

Reviewers: mp+139226_code.launchpad.net,

Message:
Please take a look.

Description:
Put deploy docs in README, add HACKING.

Move the development instructions from the README file to a newly
created HACKING one, update them, link the HACKING into the docs. Put
deploying instructions in the README file. Revise all docs updating
them, and fixing markup and links.

https://code.launchpad.net/~teknico/juju-gui/1086512-revise-docs/+merge/139226

(do not edit description out of merge proposal)

Please review this at https://codereview.appspot.com/6924047/

Affected files:
   A HACKING
   M README
   A [revision details]
   M docs/architecture.rst
   M docs/d3-component-framework.rst
   M docs/index.rst
   M docs/process.rst
   M docs/style-guide.rst

Revision history for this message
Francesco Banconi (frankban) wrote :

Land as is.

Thanks Nicola, this branch looks good.

https://codereview.appspot.com/6924047/

Revision history for this message
Gary Poster (gary) wrote :

Land with changes

Hi Nicola. Thank you for this branch. It has many improvements.

Please either accept my suggested changes (which I'd prefer ;-) ) or let
me know why you don't want to.

Thanks

Gary

https://codereview.appspot.com/6924047/diff/1/HACKING
File HACKING (right):

https://codereview.appspot.com/6924047/diff/1/HACKING#newcode67
HACKING:67: the container, and is launched using whichever branch you're
using.
...and it is launched...

https://codereview.appspot.com/6924047/diff/1/HACKING#newcode94
HACKING:94: After which, the gui should be functional (it automatically
polls the
After this, the gui...

https://codereview.appspot.com/6924047/diff/1/docs/d3-component-framework.rst
File docs/d3-component-framework.rst (right):

https://codereview.appspot.com/6924047/diff/1/docs/d3-component-framework.rst#newcode2
docs/d3-component-framework.rst:2: D3 component framework
English rules are usually to capitalize the words of titles, as long as
they are not articles or prepositions. Why did you change that here?
It's not particularly important, but I don't like to see things that
seem to me to be steps backwards. I suggest reverting the three title
capitalization changes in this file.

https://codereview.appspot.com/6924047/diff/1/docs/d3-component-framework.rst#newcode25
docs/d3-component-framework.rst:25: Module writers guide
Revert capitalization change, as discussed above.

https://codereview.appspot.com/6924047/diff/1/docs/d3-component-framework.rst#newcode231
docs/d3-component-framework.rst:231: Complete example
revert, per above discussion.

https://codereview.appspot.com/6924047/diff/1/docs/process.rst
File docs/process.rst (right):

https://codereview.appspot.com/6924047/diff/1/docs/process.rst#newcode2
docs/process.rst:2: Process notes
Revert: It was standard English title style before

https://codereview.appspot.com/6924047/diff/1/docs/process.rst#newcode5
docs/process.rst:5: Checklist for starting a branch
revert

https://codereview.appspot.com/6924047/diff/1/docs/process.rst#newcode21
docs/process.rst:21: Checklist for preparing for a review
revert

https://codereview.appspot.com/6924047/diff/1/docs/process.rst#newcode63
docs/process.rst:63: Checklist for reviewing
revert

https://codereview.appspot.com/6924047/diff/1/docs/process.rst#newcode95
docs/process.rst:95: Checklist for making a stable release
revert

https://codereview.appspot.com/6924047/diff/1/docs/process.rst#newcode148
docs/process.rst:148: Checklist for making a developer release
revert

https://codereview.appspot.com/6924047/diff/1/docs/process.rst#newcode205
docs/process.rst:205: Checklist for running a daily meeting
revert

https://codereview.appspot.com/6924047/diff/1/docs/process.rst#newcode246
docs/process.rst:246: Checklist for running a weekly retrospective
revert

https://codereview.appspot.com/6924047/diff/1/docs/process.rst#newcode303
docs/process.rst:303: Slack project policy
revert

https://codereview.appspot.com/6924047/diff/1/docs/style-guide.rst
File docs/style-guide.rst (right):

https://codereview.appspot.com/6924047/diff/1/docs/style-guide.rst#newcode2
docs/style-guide.rst:2: Style guide
revert

https://codereview.appspot.com/6924047/

Revision history for this message
Nicola Larosa (teknico) wrote :

gary.poster wrote:
> Please either accept my suggested changes (which I'd prefer ;-) ) or
let me know
> why you don't want to.

Gary, I will apply your changes.

https://codereview.appspot.com/6924047/diff/1/docs/d3-component-framework.rst#newcode2
> docs/d3-component-framework.rst:2: D3 component framework
> English rules are usually to capitalize the words of titles, as long
as they are
> not articles or prepositions. Why did you change that here?

There is a mismatch in title style between the README and Style Guide
files, that do not capitalize them, and the D3 Component Framework and
Process Notes, that do. It becomes apparent when you look at the index
in the generated pages.

Being not very well versed with formal English rules, I felt
capitalization as unusual and kind of "heavy", so decided to remove it.
Since you prefer abiding to those rules I'll revert the changes, and
apply capitalization to the former files too.

https://codereview.appspot.com/6924047/

279. By Nicola Larosa

Merged from trunk.

280. By Nicola Larosa

Revert capitalization changes, make new capitalization changes, add 'sphinx' target to Makefile.

Revision history for this message
Nicola Larosa (teknico) wrote :

*** Submitted:

Put deploy docs in README, add HACKING.

Move the development instructions from the README file to a newly
created HACKING one, update them, link the HACKING into the docs. Put
deploying instructions in the README file. Revise all docs updating
them, and fixing markup and links.

R=frankban, gary.poster
CC=
https://codereview.appspot.com/6924047

https://codereview.appspot.com/6924047/

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'HACKING'
2--- HACKING 1970-01-01 00:00:00 +0000
3+++ HACKING 2012-12-12 10:07:21 +0000
4@@ -0,0 +1,197 @@
5+===========
6+Development
7+===========
8+
9+Here is how to develop on this codebase.
10+
11+Developer Install
12+=================
13+
14+Juju GUI uses nodejs based development tools.
15+
16+You'll need nodejs & npm from the ppa::
17+
18+ $ sudo add-apt-repository ppa:chris-lea/node.js
19+ $ sudo apt-get update
20+ $ sudo apt-get install nodejs npm
21+
22+You also need ImageMagick::
23+
24+ $ sudo apt-get install imagemagick
25+
26+The linter will be installed locally per branch, but if you want editor
27+integration, you may want to install jshint globally in your system::
28+
29+ $ sudo npm install -g jshint
30+
31+For building the docs, you also need sphinx::
32+
33+ $ sudo apt-get install python-sphinx
34+
35+To make releases, you'll need pytz::
36+
37+ $ sudo apt-get install python-tz
38+
39+The gui frontend can be installed with::
40+
41+ $ bzr branch lp:juju-ui trunk
42+ $ cd trunk
43+ $ make server
44+
45+It may take a while for the server to start the first time as npm will
46+need to download packages. When ready, the server will print:
47+
48+Server listening on 8888
49+
50+You can then access the GUI at <http://localhost:8888/>.
51+
52+You'll also need to deploy a juju environment with REST api access.
53+Currently that work resides in a pipeline of juju branches. The
54+recommended branch to use as a server is ``lp:~hazmat/juju/rapi-rollup``.
55+
56+You can use it with any environment, but for dev purposes, a local
57+environment works well. One environment option specific to this branch
58+is the api-port. An appropriate sample configuration::
59+
60+ default: dev
61+ environments:
62+ dev:
63+ type: local
64+ data-dir: /home/kapil/.juju/local
65+ admin-secret: b3a5dee4fb8c4fc9a4db04751e5936f4
66+ default-series: precise
67+ juju-origin: ppa
68+ api-port: 8081
69+
70+Note that juju-origin is set to the ppa, the api server runs outside of
71+the container, and is launched using whichever branch you're using.
72+
73+Also note that the api-port should be set at 8081, which the gui's
74+initial environment connection currently defaults to.
75+
76+You'll need to bootstrap the local environment, and deploy one service.
77+The api server needs access to the provisioning credentials which are
78+lazily initialized in juju upon usage.
79+
80+Juju-gui and rapi-rollup can communicate via an encrypted WebSockets
81+connection: to enable it, add the following line to the config above::
82+
83+ api-secure: true
84+
85+You will also need to edit your ``app/config.js`` replacing
86+``ws://localhost:8081/ws`` with ``wss://localhost:8081/ws``.
87+
88+By default, rapi-rollup uses a self-signed certificate; because of that you
89+will need to visit the <https://localhost:8081/ws> WebSockets URL with your
90+browser and accept the included self-signed certificate, or the WebSockets
91+encrypted connection will not work.
92+
93+In order to use a different certificate, you add an api-keys option to the
94+config above: its value will be the path of the directory containing the
95+certificate and the private key, whose filenames will have to be respectively
96+``juju.crt`` and ``juju.key``.
97+
98+After which, the gui should be functional (it automatically polls the
99+api server for establishing a websocket).
100+
101+Running Unit Tests
102+==================
103+
104+ $ make test
105+
106+Running Lint
107+============
108+
109+ $ make lint
110+
111+API Documentation
112+=================
113+
114+Generated JavaScript documentation is available in the yuidoc directory after
115+running the command ``make yuidoc``. You can view the docs by running::
116+
117+ $ xdg-open yuidoc/index.html
118+
119+The `documentation <http://yui.github.com/yuidoc/syntax/>`_ for YUIDoc markup
120+is available.
121+
122+Project Documentation
123+=====================
124+
125+The project documentation is available in the ``docs/`` directory. It needs
126+Sphinx::
127+
128+ $ sudo apt-get install python-sphinx
129+
130+Build the documentation::
131+
132+ $ make doc
133+
134+(This will also generate the above mentioned yuidoc documentation.)
135+
136+View it::
137+
138+ $ xdg-open docs/_build/html/index.html
139+
140+Making Releases
141+===============
142+
143+To make a release, you must either be in a checkout of lp:juju-gui
144+without uncommitted changes, or you must override one of the
145+`pertinent variable names`_ to force a release.
146+
147+.. _`pertinent variable names`: `Potentially Useful Release-Oriented Makefile Variables`_
148+
149+You also need to have a gpg key, and the python-pytz package installed (as
150+well as launchpadlib, but that is installed by default in Ubuntu).
151+
152+See the Process document (docs/process.rst) for step-by-step checklists to
153+make developer and stable releases.
154+
155+Potentially Useful Release-Oriented Makefile Variables
156+------------------------------------------------------
157+
158+The following is a list of pertinent Makefile variables.
159+
160+FINAL
161+ Set FINAL to any non-empty value to make a final release. This will cause
162+ the bzr revno to be omitted from the tarball name, and (if you use the
163+ release target) will cause the release to be uploaded to the stable series
164+ rather than the trunk series. Example usage::
165+
166+ $ FINAL=1 make release
167+
168+PROD
169+ By default, releases will be uploaded to staging.launchpad.net, which is a
170+ separate version of Launchpad that uses a temporary database. This can be
171+ convenient for trying out the release process in the Makefile without
172+ affecting our actual production releases. Set PROD to any non-empty value
173+ to send uploads to launchpad.net, the production version of Launchpad, when
174+ you are ready to make a real release.
175+
176+ Note that you may need to ask the webops to turn off the two-factor
177+ authentication on your Launchpad staging account in order for the staging to
178+ work. Go to the #launchpad-ops channel on the Canonical IRC server and ask
179+ something like "webops, could you disable 2FA on my staging account?"
180+
181+ Example usage::
182+
183+ $ PROD=1 make release
184+
185+IS_TRUNK_CHECKOUT
186+ Set this to any non-empty value to force the Makefile to believe it is
187+ working with a trunk checkout. Example usage::
188+
189+ $ IS_TRUNK_CHECKOUT=1 make release
190+
191+HAS_NO_CHANGES
192+ Set this to any non-empty value to force the Makefile to believe that the
193+ current code tree has no changes. Example usage::
194+
195+ $ HAS_NO_CHANGES=1 make release
196+
197+IS_SAFE_RELEASE
198+ Set this to any non-empty value to force the Makefile to bypass checks of
199+ IS_TRUNK_CHECKOUT and HAS_NO_CHANGES. Example usage::
200+
201+ $ IS_SAFE_RELEASE=1 make release
202
203=== modified file 'Makefile'
204--- Makefile 2012-12-11 15:54:02 +0000
205+++ Makefile 2012-12-12 10:07:21 +0000
206@@ -128,10 +128,12 @@
207 yuidoc/index.html: node_modules/yuidocjs $(JSFILES)
208 node_modules/.bin/yuidoc -o yuidoc -x assets app
209
210+sphinx:
211+ make -C docs html
212+
213 yuidoc: yuidoc/index.html
214
215-doc: yuidoc
216- make -C docs html
217+doc: sphinx yuidoc
218
219 $(SPRITE_GENERATED_FILES): node_modules/grunt node_modules/node-spritesheet \
220 $(SPRITE_SOURCE_FILES)
221
222=== modified file 'README'
223--- README 2012-12-10 14:20:35 +0000
224+++ README 2012-12-12 10:07:21 +0000
225@@ -1,197 +1,37 @@
226-======
227-README
228-======
229-
230-Developer Install
231-=================
232-
233-Juju GUI uses nodejs based development tools.
234-
235-You'll need nodejs & npm from the ppa::
236-
237- $ sudo add-apt-repository ppa:chris-lea/node.js
238- $ sudo apt-get update
239- $ sudo apt-get install nodejs npm
240-
241-You also need ImageMagick::
242-
243- $ sudo apt-get install imagemagick
244-
245-The linter will be installed locally per branch, but if you want editor
246-integration, you may want to install jshint globally in your system::
247-
248- $ sudo npm install -g jshint
249-
250-For building the docs, you also need sphinx::
251-
252- $ sudo apt-get install python-sphinx
253-
254-To make releases, you'll need pytz::
255-
256- $ sudo apt-get install python-tz
257-
258-The gui frontend can be installed with::
259-
260- $ bzr branch lp:juju-ui trunk
261- $ cd trunk
262- $ make server
263-
264-It may take a while for the server to start the first time as npm will
265-need to download packages. When ready, the server will print:
266-
267-Server listening on 8888
268-
269-You can then access the GUI at http://localhost:8888
270-
271-You'll also need to deploy a juju environment with REST api access.
272-Currently that work resides in a pipeline of juju branches. The
273-recommended branch to use as a server is ``lp:~hazmat/juju/rapi-delta``.
274-
275-You can use it with any environment, but for dev purposes, a local
276-environment works well. One environment option specific to this branch
277-is the api-port. An appropriate sample configuration::
278-
279- default: dev
280- environments:
281- dev:
282- type: local
283- data-dir: /home/kapil/.juju/local
284- admin-secret: b3a5dee4fb8c4fc9a4db04751e5936f4
285- default-series: precise
286- juju-origin: ppa
287- api-port: 8081
288-
289-Note that juju-origin is set to the ppa, the api server runs outside of
290-the container, and is launched using whichever branch you're using.
291-
292-Also note that the api-port should be set at 8081, which the gui's
293-initial environment connection currently defaults to.
294-
295-You'll need to bootstrap the local environment, and deploy one service.
296-The api server needs access to the provisioning credentials which are
297-lazily initialized in juju upon usage.
298-
299-Juju-gui and rapi-delta can communicate via an encrypted WebSockets
300-connection: to enable it, add the following line to the config above::
301-
302- api-secure: true
303-
304-You will also need to edit your ``app/config.js`` replacing
305-``ws://localhost:8081/ws`` with ``wss://localhost:8081/ws``.
306-
307-By default, rapi-delta uses a self-signed certificate; because of that you
308-will need to visit the https://localhost:8081/ws WebSockets URL with your
309-browser and accept the included self-signed certificate, or the WebSockets
310-encrypted connection will not work.
311-
312-In order to use a different certificate, you add an api-keys option to the
313-config above: its value will be the path of the directory containing the
314-certificate and the private key, whose filenames will have to be respectively
315-``juju.crt`` and ``juju.key``.
316-
317-After which, the gui should be functional (it automatically polls the
318-api server for establishing a websocket).
319-
320-Running unit tests
321-==================
322-
323- $ xdg-open test/index.html
324-
325-Documentation
326-=============
327-
328-Generated JavaScript documentation is available in the yuidoc directory.
329-Start with the index.html file. You can view the docs by running::
330-
331- $ xdg-open yuidoc/index.html
332-
333-To regenerate the docs run::
334-
335- $ make yuidoc
336-
337-The documentation for YUIDoc markup is at
338-http://yui.github.com/yuidoc/syntax/ .
339-
340-Running lint
341-============
342-
343- $ jshint --config=jshint.config `bzr ls -RV -k file | grep -v assets/`
344-
345-Making releases
346-===============
347-
348-To make a release, you must either be in a checkout of lp:juju-gui
349-without uncommitted changes, or you must override one of the
350-`pertinent variable names`_ to force a release.
351-
352-.. _`pertinent variable names`: `Potentially Useful Release-Oriented Makefile Variables`_
353-
354-You also need to have a gpg key, and the python-pytz package installed (as
355-well as launchpadlib, but that is installed by default in Ubuntu).
356-
357-See the Process document (docs/process.rst) for step-by-step checklists to
358-make developer and stable releases.
359-
360-Potentially Useful Release-Oriented Makefile Variables
361-------------------------------------------------------
362-
363-The following is a list of pertinent Makefile variables.
364-
365-FINAL
366- Set FINAL to any non-empty value to make a final release. This will cause
367- the bzr revno to be omitted from the tarball name, and (if you use the
368- release target) will cause the release to be uploaded to the stable series
369- rather than the trunk series. Example usage::
370-
371- $ FINAL=1 make release
372-
373-PROD
374- By default, releases will be uploaded to staging.launchpad.net, which is a
375- separate version of Launchpad that uses a temporary database. This can be
376- convenient for trying out the release process in the Makefile without
377- affecting our actual production releases. Set PROD to any non-empty value
378- to send uploads to launchpad.net, the production version of Launchpad, when
379- you are ready to make a real release.
380-
381- Note that you may need to ask the webops to turn off the two-factor
382- authentication on your Launchpad staging account in order for the staging to
383- work. Go to the #launchpad-ops channel on the Canonical IRC server and ask
384- something like "webops, could you disable 2FA on my staging account?"
385-
386- Example usage::
387-
388- $ PROD=1 make release
389-
390-IS_TRUNK_CHECKOUT
391- Set this to any non-empty value to force the Makefile to believe it is
392- working with a trunk checkout. Example usage::
393-
394- $ IS_TRUNK_CHECKOUT=1 make release
395-
396-HAS_NO_CHANGES
397- Set this to any non-empty value to force the Makefile to believe that the
398- current code tree has no changes. Example usage::
399-
400- $ HAS_NO_CHANGES=1 make release
401-
402-IS_SAFE_RELEASE
403- Set this to any non-empty value to force the Makefile to bypass checks of
404- IS_TRUNK_CHECKOUT and HAS_NO_CHANGES. Example usage::
405-
406- $ IS_SAFE_RELEASE=1 make release
407-
408-More documentation
409-==================
410-
411-Install Sphinx::
412-
413- $ sudo apt-get install python-sphinx
414-
415-Build the docs::
416-
417- $ cd docs
418- $ make html
419-
420-View them::
421-
422- $ xdg-open _build/html/index.html
423+========
424+Juju-GUI
425+========
426+
427+Welcome. Juju-GUI is a web-based GUI for `Juju <https://juju.ubuntu.com/>`_.
428+Juju lets you deploy connected services to the cloud in a convenient,
429+vendor-neutral, and powerful way. The GUI lets you visualize and manage
430+your work more intuitively from a web browser.
431+
432+See also:
433+
434+- `The new Juju GUI: because a picture paints a thousand words
435+ <http://blog.canonical.com/2012/10/29/the-new-juju-gui-because-a-picture-paints-a-thousand-words/>`_
436+- a `demo of trunk <http://uistage.jujucharms.com:8080/>`_, which is reset
437+ every 15 minutes.
438+
439+Deploy
440+======
441+
442+There are no official releases of Juju-GUI yet, so you have to get the source
443+code from Launchpad::
444+
445+ $ bzr branch lp:juju-gui
446+
447+The most useful available commands are shown by the command::
448+
449+ $ make help
450+
451+You'll typically want to run one of ``make prod``, ``make debug`` or ``make
452+devel`` to deploy an environment. You might also run ``make test`` to check
453+that everything is ok. You may also run ``make doc`` to generate the available
454+documentation.
455+
456+Configure
457+=========
458+
459+TBD
460
461=== modified file 'docs/architecture.rst'
462--- docs/architecture.rst 2012-10-05 09:42:27 +0000
463+++ docs/architecture.rst 2012-12-12 10:07:21 +0000
464@@ -6,55 +6,54 @@
465 ========
466
467 MVC YUI
468-~~~~~~~
469+-------
470
471-Juju-gui is based on yui's backbone style app framework. The official docs
472-for this are highly recommended for developers:
473-http://yuilibrary.com/yui/docs/app/
474+Juju-gui is based on yui's backbone style app framework. The `official docs
475+<http://yuilibrary.com/yui/docs/app/>`_ are highly recommended for developers.
476
477 An overview of the individual pieces.
478
479-- Router - Route dispatch by url, saves and restores url state.
480- http://yuilibrary.com/yui/docs/router/
481-
482-- Views - Rendering of a view
483- http://yuilibrary.com/yui/docs/view/index.html
484-
485-- Model - Domain objects with change events
486- http://yuilibrary.com/yui/docs/model/
487- http://yuilibrary.com/yui/docs/model-list/
488+- `Router <http://yuilibrary.com/yui/docs/router/>`_ - Route dispatch by url,
489+ saves and restores url state.
490+
491+- `Views <http://yuilibrary.com/yui/docs/view/index.html>`_ - Rendering of a
492+ view.
493+
494+- `Model <http://yuilibrary.com/yui/docs/model/>`_,
495+ `ModelList <http://yuilibrary.com/yui/docs/model-list/>`_ - Domain objects
496+ with change events.
497
498 Environment Integration
499-~~~~~~~~~~~~~~~~~~~~~~~
500+-----------------------
501
502 The gui connects and communicates to the environment over a web socket
503 connection.
504
505 RPC Calls
506-~~~~~~~~~
507+---------
508
509 Completion callbacks can be used with any of the methods on the environment.
510 Multiple calls are done in parallel.
511
512 RPC Events
513-~~~~~~~~~~
514+----------
515
516 Messages from the backend for known rpc operation results are messaged out as
517 Environment events.
518
519 Delta Stream
520-~~~~~~~~~~~~
521+------------
522
523 A stream of object changes, used to update models.
524
525 Scenarios
526----------
527+~~~~~~~~~
528
529 - new client
530 - existing client disconnects and reconnects
531
532 Requirements
533-------------
534+~~~~~~~~~~~~
535
536 ::
537
538@@ -67,14 +66,14 @@
539 -- delta
540
541 Questions
542-~~~~~~~~~
543-
544-Model Composition and relations.
545-
546-relations by id
547-
548-We have multiple object states for a given.
549-
550-Inline combo handler for yui: https://github.com/rgrove/combohandler
551-
552-More complicated but similiar: https://github.com/jafl/YUI-3-Stockpile
553+---------
554+
555+- Model Composition and relations.
556+
557+- relations by id
558+
559+- We have multiple object states for a given.
560+
561+- Inline combo handler for YUI: <https://github.com/rgrove/combohandler>.
562+
563+- More complicated but similiar: <https://github.com/jafl/YUI-3-Stockpile>.
564
565=== modified file 'docs/d3-component-framework.rst'
566--- docs/d3-component-framework.rst 2012-11-29 03:54:35 +0000
567+++ docs/d3-component-framework.rst 2012-12-12 10:07:21 +0000
568@@ -15,7 +15,7 @@
569 explain this usage as it exists today.
570
571 The framework only models two high level objects, Component and Module. A
572-Component is a top level container around Module objects. The Component
573+Component is a top level container around Module objects. The Component
574 provides the implementation of the declarative behavior provided by the
575 framework. The Module(s) implement the logical sections of the application. In
576 the YUI world it might be common to expect each Module to be the application's
577@@ -76,14 +76,14 @@
578 this point that any d3js synthetic events are bound to the canvas (see the
579 section on events below). This separation of phases exists to make the life of
580 the Module writer simpler. They can rely on whatever elements they'll be drawing
581- (adding children to an svg object for example) will already have its container
582- properly available due to the renderOnce setup. They can also be sure that
583- any ``update`` driven intermediate data will be computed and available for
584- use in ``render``. This reduces the need for checks in each module to assert
585- the most basic DOM state.
586+(adding children to an svg object for example) will already have its container
587+properly available due to the renderOnce setup. They can also be sure that
588+any ``update`` driven intermediate data will be computed and available for
589+use in ``render``. This reduces the need for checks in each module to assert
590+the most basic DOM state.
591
592-After the initial render its expected that updates to the scene occur via the
593-event handlers in the various modules. Render will not usually need to be called
594+After the initial render its expected that updates to the scene occur via the
595+event handlers in the various modules. Render will not usually need to be called
596 more than once unless the entire Component rendering is removed from the DOM and
597 then later re-attached.
598
599
600=== added symlink 'docs/hacking.rst'
601=== target is u'../HACKING'
602=== modified file 'docs/index.rst'
603--- docs/index.rst 2012-11-28 12:30:32 +0000
604+++ docs/index.rst 2012-12-12 10:07:21 +0000
605@@ -13,6 +13,7 @@
606 :maxdepth: 2
607
608 readme
609+ hacking
610 style-guide
611 architecture
612 d3-component-framework
613
614=== modified file 'docs/process.rst'
615--- docs/process.rst 2012-12-10 14:20:35 +0000
616+++ docs/process.rst 2012-12-12 10:07:21 +0000
617@@ -6,9 +6,9 @@
618 ===============================
619
620 - Understand the problem. If you don't, ask and be persistent until you do.
621-- When determining a solution, consider this preferred Software
622- Architecture Cheat Sheet:
623- http://gorban.org/post/32873465932/software-architecture-cheat-sheet
624+- When determining a solution, consider this preferred `Software
625+ Architecture Cheat Sheet
626+ <http://gorban.org/post/32873465932/software-architecture-cheat-sheet>`_
627 - Have a pre-implementation call with someone about your solution. If you
628 are not sure of your solution, prototype before the pre-implementation call.
629 - Use TDD. Your prototype might be perfect, but you can still move it aside
630@@ -16,7 +16,7 @@
631 - Update the CHANGES.yaml file with your changes. The newest (topmost)
632 section should have the version "unreleased". If not and you are
633 making changes, add an "unreleased" section at the top. All other
634- version numbers follow Semantic Versioning (http://semver.org/).
635+ version numbers follow `Semantic Versioning <http://semver.org/>`_.
636
637 Checklist for Preparing for a Review
638 ====================================
639@@ -79,8 +79,8 @@
640 * Make sure that new code has tests.
641 * Make sure you can understand the new code. Ask for clarification if
642 necessary.
643- * Consider the advice in this preferred Software Architecture Cheat Sheet.
644- http://gorban.org/post/32873465932/software-architecture-cheat-sheet
645+ * Consider the advice in this preferred `Software Architecture Cheat Sheet
646+ <http://gorban.org/post/32873465932/software-architecture-cheat-sheet>`_
647 * Make sure changes to a file correspond to the naming conventions and other
648 stylistic considerations local to that file, and within our project.
649 * Before you ask for a change, think and make sure you can't compromise
650
651=== modified file 'docs/style-guide.rst'
652--- docs/style-guide.rst 2012-11-07 18:41:11 +0000
653+++ docs/style-guide.rst 2012-12-12 10:07:21 +0000
654@@ -15,7 +15,7 @@
655 indention will be applied.
656
657
658-For loops
659+For Loops
660 =========
661
662 Unless you are counting something, for loops (and for-in loops) are a trap.
663@@ -29,7 +29,7 @@
664 should end with a non-blank line).
665
666
667-Object literal formatting
668+Object Literal Formatting
669 =========================
670
671 Things you should do:
672@@ -66,7 +66,7 @@
673 errors = utils.validate(values, schema);
674
675
676-Chaining method calls
677+Chaining Method Calls
678 =====================
679
680 Some APIs are designed such that mutating method calls return the object being
681@@ -160,13 +160,13 @@
682 ========
683
684 We use YUIDoc to document the applications internals. YUIDoc comments
685-start with "/**" and end with "*/". The Makefile includes a simple
686+start with ``/**`` and end with ``*/``. The Makefile includes a simple
687 linter that enforces YUIDoc comments for each function in the
688 application.
689
690 This simple linting sometimes means that functions that we might not
691 otherwise document require documentation. If a one-line comment is
692-sufficient in those situations, a comment of this form may be used:
693+sufficient in those situations, a comment of this form may be used::
694
695 /** Handle errors */
696 error_callback: function(err) {
697@@ -174,7 +174,7 @@
698 }
699
700 Most functions (or methods) will call for normal, multi-line YUIDoc
701-comments like this:
702+comments like this::
703
704 /**
705 * Frob the thingy.
706@@ -184,5 +184,5 @@
707 * @return {undefined} Side-effects only, eturns nothing.
708 */
709
710-Full documentation for the various YUIDoc directives is at
711-http://yui.github.com/yuidoc/syntax/ .
712+`Full documentation <http://yui.github.com/yuidoc/syntax/>`_
713+for the various YUIDoc directives is available.

Subscribers

People subscribed via source and target branches