Skip to content

Commit

Permalink
Purge references to Popper from docs.
Browse files Browse the repository at this point in the history
  • Loading branch information
Chris Rossi committed Aug 9, 2012
1 parent da38eb7 commit d01c8bd
Show file tree
Hide file tree
Showing 36 changed files with 72 additions and 766 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Expand Up @@ -8,3 +8,5 @@ lib
.coverage
*.sw?
dist
_build
venv
9 changes: 7 additions & 2 deletions CHANGES.txt
@@ -1,5 +1,10 @@
pyramid_bottlecap changelog
===========================
pyramid_layout changelog
========================

Unreleased
----------

- Changed name from pyramid_bottlecap to pyramid_layout.

0.3 (2012-04-19)
----------------
Expand Down
55 changes: 10 additions & 45 deletions README.rst
@@ -1,47 +1,12 @@
=========
Bottlecap
=========

When building a new Pyramid application, you might want an attractive
starting point for your UI. Later, as you need a custom UX, you might
want a system for organizing your global UX and shared templating into
layouts and panels.

Bottlecap serves that purpose.

- Inject Bottlecap into your application

- Point your ZPTs at Bottlecap's Popper layout

- Configure, override and extend using Pyramid machinery

- Later, make and register your own layouts and panels

Quick Start
===========

You can see Bottlecap added to a sample Pyramid app that ships in
Bottlecap:

#. Make a virtualenv as usual.

#. ``git clone git@github.com:pauleveritt/pyramid_bottlecap.git``

#. ``cd pyramid_bottlecap``

#. ``/virtualenv/bin/python setup.py develop``

#. ``cd sample``

#. ``/virtualenv/bin/python setup.py develop``

#. ``/virtualenv/bin/pserve development.ini --reload``

#. Open ``http://localhost:6543`` in a browser.

Bottlecap will now be running on port 6543. To run the WebTest tests
on the templates in the sample app::

$ ``/virtualenv/bin/nosetests``
==============
Pyramid Layout
==============

Pyramid Layout is an add-on for the Pyramid Web Framework which allows
developers to utilize the concept of a UI layout to your Pyramid application.
Different layouts may be registered for use in different contexts of your
application. The concept of panels is also introduced to facilitate rendering
of subsections of a page in a consistent way across different views in a
reusable way.

More information is available in the ``docs`` directory.
2 changes: 0 additions & 2 deletions docs/.gitignore

This file was deleted.

8 changes: 4 additions & 4 deletions docs/Makefile
Expand Up @@ -77,17 +77,17 @@ qthelp:
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Bottlecap.qhcp"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/PyramidLayout.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Bottlecap.qhc"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PyramidLayout.qhc"

devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/Bottlecap"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Bottlecap"
@echo "# mkdir -p $$HOME/.local/share/devhelp/PyramidLayout"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/PyramidLayout"
@echo "# devhelp"

epub:
Expand Down
64 changes: 13 additions & 51 deletions docs/about.rst
@@ -1,15 +1,14 @@
=================================
About Layouts, Panels, and Popper
=================================
=====================
About Layouts, Panels
=====================

If you are writing your own UX for your Pyramid project,
Bottlecap provides a way to write your layout templates and logic,
Pyramid Layout provides a way to write your layout templates and logic,
register them, and use them in your view templates. As you refactor,
you can make re-usable pieces called panels for your layout and view
templates.

This section introduces the concepts of "layout" and "panel". Also,
the bundled UX known as "Popper" is explained.
This section introduces the concepts of "layout" and "panel".

About Layouts
=============
Expand All @@ -23,14 +22,14 @@ logic in it and needs data. Usually each view had to pass in
that data. Later, Pyramid's renderer globals provided an elegant
facility for always having certain data available in all renderings.

In Bottlecap, these ideas are brought together and given a name:
In Pyramid Layout, these ideas are brought together and given a name:
Layout. A layout is a combination of templating and logic which wraps
up a view. With Bottlecap, "layout" becomes a first-class citizen with
up a view. With Pyramid Layout, "layout" becomes a first-class citizen with
helper config machinery and defined plug points.

In more complex projects, different parts of the same site need
different layouts. Bottlecap provides a way for naming your layouts and
selecting them in a view.
In more complex projects, different parts of the same site need different
layouts. Pyramid Layout provides a way for managing the use of different
layouts in different places in your application.

About Panels
============
Expand All @@ -45,49 +44,12 @@ templating with a marginal amount of overidability. Like main templates,
though, they also have logic and data that need to be schlepped into the
template.

Bottlecap addresses these re-usable snippets with "panels". A panel is
Pyramid Layout addresses these re-usable snippets with "panels". A panel is
a box on the screen driven by templating and logic. You make panels,
register them, and you can then use them in your view templates or
layout templates.

Moreover, making and using them is a very Pythonic,
Pyramid-ic process. For example, you call your panel as a normal Python
callable and can pass it arguments.

About Popper
============

"Screw all that, I just want that slick UX that Bottlecap ships with."

Bottlecap was developed for the KARL project, building on lessons it
learned with a very large, customized-per-customer UX system. Once we
had the layout and panel machinery, we then made a UX. We decided to
ship that UX, with plug points, as a layout that all the worldwide
intertubes could use.

That layout is called Popper and it has some nice features as a
starting point for your Pyramid app:

- It's very, very attractive with a lot of attention to detail.

- We have tested it heavily across browsers, with WebTest tests and more

- We maintain it and fix bugs as part of the KARL project

- The logical structure and thus plug points are documented

- Lots of detail was paid to things like caching assets with far-future
expires and versioned URLs, using Juicer to eliminate extra HTTP
requests, etc.

- Slickest of all, it was built from the start with "responsive design"
in mind, which means it adapts supernaturally for large desktops,
small desktops, landscape tablet, portrait table, landscape phone,
and portrait phone

.. note::

The name "Popper" comes from
`Karl Popper <http://en.wikipedia.org/wiki/Karl_Popper>`_,
the economic philosopher, founder of the idea and study of open
societies, and economics teacher to George Soros.
callable and can pass it arguments. Registration of panels, like layouts,
is very similar to registration of views in Pyramid.
121 changes: 15 additions & 106 deletions docs/conf.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
#
# Bottlecap documentation build configuration file, created by
# sphinx-quickstart on Wed Jan 4 16:41:52 2012.
# Pyramid Layout documentation build configuration file, created by
# sphinx-quickstart on Thu Aug 9 11:58:01 2012.
#
# This file is execfile()d with the current directory set to its containing dir.
#
Expand All @@ -25,12 +25,7 @@

# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.intersphinx', 'sphinx.ext.viewcode']

# Looks for pyramid's objects
intersphinx_mapping = {
'pyramid':
('http://docs.pylonsproject.org/projects/pyramid/dev/', None)}
extensions = ['sphinx.ext.autodoc']

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
Expand All @@ -45,17 +40,17 @@
master_doc = 'index'

# General information about the project.
project = u'Bottlecap'
copyright = u'2012, Paul Everitt'
project = u'Pyramid Layout'
copyright = u'2012, Chris Rossi, Paul Everitt'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '0.1'
version = '0.4'
# The full version, including alpha/beta/rc tags.
release = '0.1'
release = '0.4'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down Expand Up @@ -96,46 +91,7 @@

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#html_theme = 'default'

# Add and use Pylons theme
if 'sphinx-build' in ' '.join(sys.argv): # protect against dumb importers
from subprocess import call, Popen, PIPE

p = Popen('which git', shell=True, stdout=PIPE)
git = p.stdout.read().strip()
cwd = os.getcwd()
_themes = os.path.join(cwd, '_themes')

if not os.path.isdir(_themes):
call([git, 'clone', 'git://github.com/Pylons/pylons_sphinx_theme.git',
'_themes'])
else:
os.chdir(_themes)
call([git, 'checkout', 'master'])
call([git, 'pull'])
os.chdir(cwd)

sys.path.append(os.path.abspath('_themes'))

parent = os.path.dirname(os.path.dirname(__file__))
sys.path.append(os.path.abspath(parent))
wd = os.getcwd()
os.chdir(parent)
os.system('%s setup.py test -q' % sys.executable)
os.chdir(wd)

for item in os.listdir(parent):
if item.endswith('.egg'):
sys.path.append(os.path.join(parent, item))

html_theme_path = ['_themes']
html_theme = 'pyramid'
html_theme_options = dict(
github_url='https://github.com/Pylons/pyramid',
# in_progress='true'
)

html_theme = 'default'

# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
Expand Down Expand Up @@ -208,7 +164,7 @@
#html_file_suffix = None

# Output file base name for HTML help builder.
htmlhelp_basename = 'Bottlecapdoc'
htmlhelp_basename = 'PyramidLayoutdoc'


# -- Options for LaTeX output --------------------------------------------------
Expand All @@ -227,8 +183,8 @@
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Bottlecap.tex', u'Bottlecap Documentation',
u'Paul Everitt', 'manual'),
('index', 'PyramidLayout.tex', u'Pyramid Layout Documentation',
u'Chris Rossi, Paul Everitt', 'manual'),
]

# The name of an image file (relative to this directory) to place at the top of
Expand Down Expand Up @@ -257,8 +213,8 @@
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'bottlecap', u'Bottlecap Documentation',
[u'Paul Everitt'], 1)
('index', 'pyramidlayout', u'Pyramid Layout Documentation',
[u'Chris Rossi, Paul Everitt'], 1)
]

# If true, show URL addresses after external links.
Expand All @@ -271,8 +227,8 @@
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Bottlecap', u'Bottlecap Documentation',
u'Paul Everitt', 'Bottlecap', 'One line description of project.',
('index', 'PyramidLayout', u'Pyramid Layout Documentation',
u'Chris Rossi, Paul Everitt', 'PyramidLayout', 'One line description of project.',
'Miscellaneous'),
]

Expand All @@ -284,50 +240,3 @@

# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'


# -- Options for Epub output ---------------------------------------------------

# Bibliographic Dublin Core info.
epub_title = u'Bottlecap'
epub_author = u'Paul Everitt'
epub_publisher = u'Paul Everitt'
epub_copyright = u'2012, Paul Everitt'

# The language of the text. It defaults to the language option
# or en if the language is not set.
#epub_language = ''

# The scheme of the identifier. Typical schemes are ISBN or URL.
#epub_scheme = ''

# The unique identifier of the text. This can be a ISBN number
# or the project homepage.
#epub_identifier = ''

# A unique identification for the text.
#epub_uid = ''

# A tuple containing the cover image and cover page html template filenames.
#epub_cover = ()

# HTML files that should be inserted before the pages created by sphinx.
# The format is a list of tuples containing the path and title.
#epub_pre_files = []

# HTML files shat should be inserted after the pages created by sphinx.
# The format is a list of tuples containing the path and title.
#epub_post_files = []

# A list of files that should not be packed into the epub file.
#epub_exclude_files = []

# The depth of the table of contents in toc.ncx.
#epub_tocdepth = 3

# Allow duplicate toc entries.
#epub_tocdup = True


# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {'http://docs.python.org/': None}
4 changes: 0 additions & 4 deletions docs/example/CHANGES.txt

This file was deleted.

2 changes: 0 additions & 2 deletions docs/example/MANIFEST.in

This file was deleted.

1 change: 0 additions & 1 deletion docs/example/README.txt

This file was deleted.

0 comments on commit d01c8bd

Please sign in to comment.