[Checkins] SVN: buildout-website/trunk/ I apologize for reverting Jeff Rush's changes
Baiju M
baiju.m.mail at gmail.com
Thu Apr 2 15:44:13 EDT 2009
Log message for revision 98792:
I apologize for reverting Jeff Rush's changes
(I have dicussed with him about this)
Changed:
A buildout-website/trunk/artwork/
U buildout-website/trunk/source/_static/default.css
A buildout-website/trunk/source/_static/hammer-B.ico
A buildout-website/trunk/source/_static/hammer-foot.ico
A buildout-website/trunk/source/_static/pencil-cross-hammer.ico
A buildout-website/trunk/source/buildout_theme/
U buildout-website/trunk/source/conf.py
A buildout-website/trunk/source/docs/dirstruct.rst
A buildout-website/trunk/source/docs/usecase_singlemod.rst
U buildout-website/trunk/source/index.rst
A buildout-website/trunk/source/install.rst
U buildout-website/trunk/source/thanks.rst
-=-
Modified: buildout-website/trunk/source/_static/default.css
===================================================================
--- buildout-website/trunk/source/_static/default.css 2009-04-02 15:11:44 UTC (rev 98791)
+++ buildout-website/trunk/source/_static/default.css 2009-04-02 19:44:12 UTC (rev 98792)
@@ -1,6 +1,6 @@
/**
- * Sphinx stylesheet -- default theme
- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * Sphinx stylesheet -- buildout theme
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
@import url("basic.css");
@@ -8,9 +8,9 @@
/* -- page layout ----------------------------------------------------------- */
body {
- font-family: sans-serif;
+ font-family: {{ theme_bodyfont }};
font-size: 100%;
- background-color: #11303d;
+ background-color: {{ theme_footerbgcolor }};
color: #000;
margin: 0;
padding: 0;
@@ -38,8 +38,8 @@
text-decoration: underline;
}
-div.related {
- background-color: #133f52;
+div.related { /* horizontal bar across the top */
+ background-color: #272D7B /* was #133f52 */;
line-height: 30px;
color: #ffffff;
}
@@ -52,65 +52,85 @@
}
div.sphinxsidebar h3 {
- font-family: 'Trebuchet MS', sans-serif;
- color: #ffffff;
- font-size: 1.4em;
- font-weight: normal;
- margin: 0;
- padding: 0;
+ font-family: 'Trebuchet MS', sans-serif;
+ font-size: 1.2em;
+ font-weight: normal;
+
+ color: #ffffff;
+ margin: 0;
+
+ background-color: #272D7B; /* blueprint blue */
+ padding: 4px 4px 4px 4px;
+
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border: 2px solid #878DDB;
}
div.sphinxsidebar h3 a {
- color: #ffffff;
+ color: #ffffff;
}
div.sphinxsidebar h4 {
- font-family: 'Trebuchet MS', sans-serif;
- color: #ffffff;
- font-size: 1.3em;
- font-weight: normal;
- margin: 5px 0 0 0;
- padding: 0;
+ font-family: 'Trebuchet MS', sans-serif;
+ color: #ffffff;
+ background-color: #272D7B; /* blueprint blue */
+ font-size: 1.3em;
+ font-weight: normal;
+ margin: 5px 0 0 0;
+ padding: 4px 4px 4px 4px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border: 2px solid #878DDB;
}
div.sphinxsidebar p {
- color: #ffffff;
+ color: #ffffff;
}
div.sphinxsidebar p.topless {
- margin: 5px 10px 10px 10px;
+ margin: 5px 10px 10px 10px;
}
div.sphinxsidebar ul {
- margin: 10px;
- padding: 0;
- color: #ffffff;
+ margin: 10px;
+ padding: 0;
+ color: #ffffff;
}
div.sphinxsidebar a {
- color: #98dbcc;
+ color: #B8EBFC /*#98dbcc*/;
+ background-color: #272D7B; /* blueprint blue */
+ padding: 4px 4px 4px 4px;
+ font-size: 1.2em;
+ font-weight: bold;
}
+div.sphinxsidebar a:hover {
+ color: white;
+ text-decoration: none;
+}
+
div.sphinxsidebar input {
- border: 1px solid #98dbcc;
- font-family: sans-serif;
- font-size: 1em;
+ border: 1px solid #98dbcc;
+ font-family: sans-serif;
+ font-size: 1em;
}
/* -- body styles ----------------------------------------------------------- */
a {
- color: #355f7c;
- text-decoration: none;
+ color: #355f7c;
+ text-decoration: none;
}
a:hover {
- text-decoration: underline;
+ text-decoration: underline;
}
div.body p, div.body dd, div.body li {
- text-align: justify;
- line-height: 130%;
+ text-align: justify;
+ line-height: 130%;
}
div.body h1,
@@ -136,75 +156,75 @@
div.body h6 { font-size: 100%; }
a.headerlink {
- color: #c60f0f;
- font-size: 0.8em;
- padding: 0 4px 0 4px;
- text-decoration: none;
+ color: #c60f0f;
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
}
a.headerlink:hover {
- background-color: #c60f0f;
- color: white;
+ background-color: #c60f0f;
+ color: white;
}
div.body p, div.body dd, div.body li {
- text-align: justify;
- line-height: 130%;
+ text-align: justify;
+ line-height: 130%;
}
div.admonition p.admonition-title + p {
- display: inline;
+ display: inline;
}
div.note {
- background-color: #eee;
- border: 1px solid #ccc;
+ background-color: #eee;
+ border: 1px solid #ccc;
}
div.seealso {
- background-color: #ffc;
- border: 1px solid #ff6;
+ background-color: #ffc;
+ border: 1px solid #ff6;
}
div.topic {
- background-color: #eee;
+ background-color: #eee;
}
div.warning {
- background-color: #ffe4e4;
- border: 1px solid #f66;
+ background-color: #ffe4e4;
+ border: 1px solid #f66;
}
p.admonition-title {
- display: inline;
+ display: inline;
}
p.admonition-title:after {
- content: ":";
+ content: ":";
}
pre {
- padding: 5px;
- background-color: #eeffcc;
- color: #333333;
- line-height: 120%;
- border: 1px solid #ac9;
- border-left: none;
- border-right: none;
+ padding: 5px;
+ background-color: #eeffcc;
+ color: #333333;
+ line-height: 120%;
+ border: 1px solid #ac9;
+ border-left: none;
+ border-right: none;
}
tt {
- background-color: #ecf0f3;
- padding: 0 1px 0 1px;
- font-size: 0.95em;
+ background-color: #ecf0f3;
+ padding: 0 1px 0 1px;
+ font-size: 0.95em;
}
div.mainbody {
- background-color: #ffffff;
- color: #000000;
- padding: 0 20px 30px 20px;
- background-image: url(grad1.jpg);
- background-repeat: repeat-x;
+ background-color: #ffffff;
+ color: #000000;
+ padding: 0 20px 30px 20px;
+ background-image: url(grad1.jpg);
+ background-repeat: repeat-x;
}
div.maintitle {
@@ -224,22 +244,22 @@
color: gray;
}
-ul.mainlinks {
+ul.mainlinks {
margin: 0;
list-style-type: none;
}
-ul.mainlinks li {
+ul.mainlinks li {
display: inline;
}
-ul.mainlinks li a {
+ul.mainlinks li a {
float: left;
padding: 15px;
text-decoration: none;
}
-ul.mainlinks li a span {
+ul.mainlinks li a span {
display: block;
text-align: center;
}
@@ -262,12 +282,14 @@
text-align: center;
}
+/*
.clearall {
float: right;
clear: left;
width: 40%;
border: 4px solid red !important;
}
+*/
.creatorandusers {
margin: 40px auto 0;
@@ -295,8 +317,17 @@
.sectionlogos a {
padding: 10px;
- }
+}
+div.documentwrapper {
+ background-image: url(img/blueprint.jpg) !important;
+}
+
+div#searchbox .searchtip {
+ background-color: #272D7B; /* blueprint blue */
+ padding: 4px 4px 4px 4px;
+}
+
/* AVAILABLE-COLORS
* The set of colors understood by docutils.
*/
Copied: buildout-website/trunk/source/_static/hammer-B.ico (from rev 98785, buildout-website/trunk/source/_static/hammer-B.ico)
===================================================================
(Binary files differ)
Copied: buildout-website/trunk/source/_static/hammer-foot.ico (from rev 98785, buildout-website/trunk/source/_static/hammer-foot.ico)
===================================================================
(Binary files differ)
Copied: buildout-website/trunk/source/_static/pencil-cross-hammer.ico (from rev 98785, buildout-website/trunk/source/_static/pencil-cross-hammer.ico)
===================================================================
(Binary files differ)
Modified: buildout-website/trunk/source/conf.py
===================================================================
--- buildout-website/trunk/source/conf.py 2009-04-02 15:11:44 UTC (rev 98791)
+++ buildout-website/trunk/source/conf.py 2009-04-02 19:44:12 UTC (rev 98792)
@@ -21,6 +21,7 @@
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+#JEFF extensions = ['embeddedvideo', 'recipes']
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
@@ -72,10 +73,13 @@
#JEFF html_translator_class = 'embeddedvideo.MyHTMLTranslator'
+html_theme = 'buildout_theme'
+html_theme_path = ['.']
+
# The style sheet to use for HTML and HTML Help pages. A file of that name
# must exist either in Sphinx' static/ path, or in one of the custom paths
# given in html_static_path.
-html_style = 'default.css'
+# html_style = 'default.css'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
@@ -90,28 +94,36 @@
# typographically correct entities.
#html_use_smartypants = True
-# Content template for the index page.
-#html_index = ''
-
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
html_additional_pages = {
- 'index': 'index.html' # we like a customized frontpage
+ 'index': 'index.html', # we like a customized frontpage
}
# If false, no module index is generated.
-#html_use_modindex = True
+html_use_modindex = False
# If true, the reST sources are included in the HTML build as _sources/<name>.
-#html_copy_source = True
+html_copy_source = True
# Output file base name for HTML help builder.
-htmlhelp_basename = 'Buildoutdoc'
+#htmlhelp_basename = 'Buildoutdoc'
+# Add "permalinks" for each heading and description.
+html_add_permalinks = True
+# An .ico format of file that is 16x16 or 32x32 pixels in size.
+html_favicon = '_static/hammer-foot.ico'
+#html_favicon = '_static/hammer-B.ico'
+#html_favicon = '_static/pencil-cross-hammer.ico'
+
+html_logo = 'buildout_theme/static/buildout-logo.png'
+
+
+
# Options for LaTeX output
# ------------------------
Copied: buildout-website/trunk/source/docs/dirstruct.rst (from rev 98779, buildout-website/trunk/source/docs/dirstruct.rst)
===================================================================
--- buildout-website/trunk/source/docs/dirstruct.rst (rev 0)
+++ buildout-website/trunk/source/docs/dirstruct.rst 2009-04-02 19:44:12 UTC (rev 98792)
@@ -0,0 +1,141 @@
+Directory Structure of a Buildout
+=================================
+
+.. include:: <xhtml1-special.txt>
+
+.. role:: red
+
+.. sidebar:: Layout of a Buildout
+
+ .. parsed-literal::
+
+ project/
+ :red:`bootstrap.py` |dagger|
+ :red:`buildout.cfg` |dagger|
+ .installed.cfg
+ parts/
+ develop-eggs/
+ bin/
+ buildout
+ mypython
+ eggs/
+ downloads/
+
+ |dagger| put :red:`red items` under version control
+
+.. rubric:: bootstrap.py
+
+A script to be included with each project to help a new developer set up the
+tree for use with *zc.buildout* after checking out the project. It installs
+from the network the *zc.buildout* and *setuptools* packages into the project
+directory.
+
+The actual URL for fetching the :file:`bootstrap.py` file is:
+
+ http://svn.zope.org/\*checkout\*/zc.buildout/trunk/bootstrap/bootstrap.py
+
+
+.. rubric:: buildout.cfg
+
+Contains the default build specification for the entire project but others can
+be defined such as file:`deployment.cfg` and :file:`production.cfg`.
+Specification files can include other specification files.
+
+
+.. rubric:: .installed.cfg
+
+A hidden file that represents the current build state of the project. The
+*zc.buildout* software updates it as parts are installed or removed. The file
+is used by *zc.buildout* to compute the minimum set of changes to bring the
+project into sync with the :file:`buildout.cfg` or other specification file.
+
+
+.. rubric:: parts/
+
+Each part may create a holding directory underneath :file:`parts/` for the
+specific use of the part's recipe. The part directory belongs to the recipe
+responsible for installing/uninstalling the part and is not intended for
+modification by the developer.
+
+
+.. rubric:: develop-eggs/
+
+The directory holds a kind of symlink or shortcut link to the development
+directories elsewhere on the system of distributions being worked on. The
+content of the directory is manipulated by *zc.buildout* in response to
+"develop = DIRS" entries in the build specification file.
+
+
+.. rubric:: bin/
+
+The directory receives executable scripts that *zc.buildout* creates from
+entrypoints defined within eggs and called out in the build specification.
+
+
+.. rubric:: bin/buildout
+
+The command to invoked *zc.buildout* for bringing the state of the project
+directory into sync with a particular build specification.
+
+
+.. rubric:: bin/mypython
+
+Just an example of a specific instance of a Python interpreter that
+encompasses a specific set of parts. The name is arbitrary and there can be
+any number of such custom interpreters.
+
+
+.. rubric:: eggs/
+
+A cache directory of eggs pulled down from the net, ready for mapping onto the
+*sys.path* of specific parts, as given in the build specification. This
+directory may be shared across projects if configured to be in a common
+nnlocation, increasing the speed with which buildouts can be constructed.
+
+
+.. rubric:: downloads/
+
+A cache directory of raw files pulled down from the net, such as compressed
+eggs, zipfiles, etc. After being downloaded into this directory, the contents
+are usually unpacked under a part name under the :file:`parts/`. This
+directory may also be shared across projects, for greater efficiency.
+
+
+.. rubric:: lib/
+
+Not strictly part of *zc.buildout* this directory appears when running within
+a sandbox created by virtualenv. It represents a standard Python lib/
+hierarchy underwhich anything installed is outside the control of
+*zc.buildout*. It generally should be left alone.
+
+.. rubric:: build/
+
+Not strictly part of *zc.buildout* either, it is a scratch directory used by
+distutils/setuptools in the process of constructing eggs.
+
+
+.. rubric:: dist/
+
+Not strictly part of *zc.buildout*, this directory receives the final packed
+representations of distributions such as eggs ready for uploading or sharing.
+
+Example::
+
+ $ cd myproject
+ $ svn propedit svn:ignore
+
+::
+
+ .installed.cfg
+ parts
+ develop-eggs
+ bin
+ eggs
+ downloads
+ lib
+ build
+ dist
+
+----
+
+Hello.
Copied: buildout-website/trunk/source/docs/usecase_singlemod.rst (from rev 98785, buildout-website/trunk/source/docs/usecase_singlemod.rst)
===================================================================
--- buildout-website/trunk/source/docs/usecase_singlemod.rst (rev 0)
+++ buildout-website/trunk/source/docs/usecase_singlemod.rst 2009-04-02 19:44:12 UTC (rev 98792)
@@ -0,0 +1,72 @@
+Use Case - A Single Module
+==========================
+
+This is a simple use of *zc.buildout* to manage a project that is distributed
+as a single module. Here are the commands one might use to obtain a copy of
+the source from the Cheeseshop for examination::
+
+ $ easy_install --editable --build-directory . xanalogica.tumbler
+ $ cd xanalogica.tumbler
+
+If we were going to develop with the project we might instead check out a copy
+from version control::
+
+ $ svn co http://svn.taupro.com/xanalogica.tumbler/trunk/ xanalogica.tumbler
+
+After obtaining a copy in either manner, the following commands would
+bootstrap the buildout environment and build it up-to-date, satisfying any
+additional dependencies given in the module's :file:`setup.py`.
+
+::
+
+ $ python bootstrap.py
+ $ bin/buildout
+
+.. sidebar:: Single-Module buildout.cfg
+
+ .. parsed-literal::
+
+ [buildout]
+ develop = .
+ parts =
+ xprompt
+ test
+
+ [xprompt]
+ recipe = zc.recipe.egg:scripts
+ eggs = xanalogica.tumbler
+ interpreter = xprompt
+
+ [test]
+ recipe = zc.recipe.testrunner
+ eggs = xanalogica.tumbler
+
+Examining the buildout specification, we see that it consists of two parts,
+one named "test" and one named "xprompt". The list of parts, in the order
+they are built, is given in the "parts = " line. The "[buildout]" section is
+the top-most section and the only one that is required. Entries that control
+the global operation of *zc.buildout* go here.
+
+Every part uses a recipe to oversee its installation/uninstallation and the
+name of a part is arbitrary. In some cases a recipe will create files using
+or prefixed with the part name. All other "name = value" lines underneath a
+part section are simple arguments that are passed to the recipe at build time.
+
+For the "xprompt" part, we simply specify that it requires a single egg, named
+"xanalogica.tumbler". We also say using the "interpreter =" line that we want
+a Python interpreter named "xprompt" that maps only that egg onto *sys.path*.
+In this manner we can exercise the logic of the egg interactively.
+
+For the "test" part, the xanalogica.tumbler egg has provided unit tests and we
+want access to a script that will invoke them. The "zc.recipe.testrunner"
+recipe provides this and generates such a script under the bin/ directory
+named after the name or in the case "test". To run the unit tests::
+
+ $ bin/test
+
+Both parts reference the xanalogica.tumbler egg and ordinarily *zc.buildout*
+would fetch an egg from the Cheeseshop by that name. However, the "develop ="
+line tells *zc.buildout* to add the egg defined by the :file:`setup.py` in the
+current directory to the list of candidates. Since *zc.buildout* prefers eggs
+under development over finished eggs in the Cheeseshop, this means it will use
+our local module to satisfy the search for "xanalogica.tumbler".
Modified: buildout-website/trunk/source/index.rst
===================================================================
--- buildout-website/trunk/source/index.rst 2009-04-02 15:11:44 UTC (rev 98791)
+++ buildout-website/trunk/source/index.rst 2009-04-02 19:44:12 UTC (rev 98792)
@@ -5,6 +5,11 @@
screencasts
quotes
+ install
+ docs/dirstruct
+ docs/usecase_singlemod
+ docs/usecase2_wrapmods
+ docs/usecase3_wrapckout
docs/index
docs/links
docs/recipe
Copied: buildout-website/trunk/source/install.rst (from rev 98779, buildout-website/trunk/source/install.rst)
===================================================================
--- buildout-website/trunk/source/install.rst (rev 0)
+++ buildout-website/trunk/source/install.rst 2009-04-02 19:44:12 UTC (rev 98792)
@@ -0,0 +1,93 @@
+Overview of the Installation Process
+====================================
+
+The `zc.buildout`_ software is very easy to install with only one dependency,
+on the *setuptools* package that provides manipulation facilities for Python
+eggs.
+
+1. Many **existing projects** are already based on *zc.buildout* and include
+ within their project files the necessary :file:`bootstrap.py` file. To
+ activate use of *zc.buildout* within such a project, simply run that
+ :file:`bootstrap.py` using the specific Python interpreter for the project.
+ This may be the system Python or in the case of a `virtualenv`_ sandbox,
+ the Python within the :file:`bin/` subdirectory of the project.
+
+ ::
+
+ $ cd projectdir
+ $ bin/python bootstrap.py
+
+.. sidebar:: Don't have an ``easy_install`` command?
+
+ The :program:`easy_install` command comes as part of the `setuptools`_
+ package. To install it, download the :file:`ez_setup.py` file into a
+ temporary directory and run it with Administrator privileges.
+
+2. While *zc.buildout* is most often installed within each project directory,
+ it can also be **installed system-wide**, to make it easy to create new
+ projects.
+
+ ::
+
+ $ easy_install zc.buildout
+
+ This gives you a new command named :program:`buildout` to use in
+ initializing or updating a project.
+
+.. sidebar:: For an even more isolated build environment...
+
+ To use an isolated instance of Python within the project, the following
+ commands will create a new sandbox and establish use of *zc.buildout*
+ within it.
+
+ ::
+
+ $ virtualenv --no-site-packages newproject
+ $ cd newproject
+ $ bin/easy_install zc.buildout
+ $ bin/buildout init
+
+3. To **add zc.buildout to a new project**, the primary step is to execute the
+ :program:`buildout init` command while your current directory is set to the
+ root of the project directory. This command will create all necessary
+ files/directories, including a minimal :file:`buildout.cfg` file to control
+ buildout.
+
+ ::
+
+ $ cd newproject
+ $ buildout init
+
+ This command sequence will use the system Python for the project. If you
+ have some other project set up that uses *zc.buildout* you can borrow its
+ :program:`buildout` command to initialize your new project.
+
+ ::
+
+ $ cd newproject
+ $ /oldproject/bin/buildout init
+
+ Unfortunately this sequence of commands will not provide a
+ :file:`bootstrap.py` command for others to use to initialize *zc.buildout*
+ when they receive a copy of your project. Therefore it is recommended that
+ you download and **incorporate a copy of** :file:`bootstrap.py` **within your
+ project fileset**.
+
+ ::
+
+ $ cd newproject
+ $ wget http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py
+
+----
+
+A good next step in understanding *zc.buildout* is :doc:`docs/dirstruct` which
+also covers which file/directories should be under version control and which
+should not.
+
+
+.. _`ez_setup.py`: http://peak.telecommunity.com/dist/ez_setup.py
+.. _`bootstrap.py`: http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py
+.. _`zc.buildout`: http://pypi.python.org/pypi/zc.buildout
+.. _`virtualenv`: http://pypi.python.org/pypi/virtualenv
+.. _`setuptools`: http://peak.telecommunity.com/DevCenter/setuptools
+
Modified: buildout-website/trunk/source/thanks.rst
===================================================================
--- buildout-website/trunk/source/thanks.rst 2009-04-02 15:11:44 UTC (rev 98791)
+++ buildout-website/trunk/source/thanks.rst 2009-04-02 19:44:12 UTC (rev 98792)
@@ -11,6 +11,7 @@
here):
- Baiju M
+ - Jeff Rush
- Marius Gedminas
- Martijn Faassen
- Paul Carduner
More information about the Checkins
mailing list