aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source
diff options
context:
space:
mode:
authorChristopher Allan Webber <cwebber@dustycloud.org>2012-02-18 10:01:47 -0600
committerChristopher Allan Webber <cwebber@dustycloud.org>2012-02-18 10:01:47 -0600
commit63352aaf70d97a37b6277fab0f9b957d34dcb9df (patch)
treeacdedffc204d89f1f71f09696270e5719f5e3123 /docs/source
parent7f3ec607a34e727324397c2bf240f771b12a0455 (diff)
parentfeba5c5287a7cb4c0ed8f5124ad60a8a291770ad (diff)
downloadmediagoblin-63352aaf70d97a37b6277fab0f9b957d34dcb9df.tar.lz
mediagoblin-63352aaf70d97a37b6277fab0f9b957d34dcb9df.tar.xz
mediagoblin-63352aaf70d97a37b6277fab0f9b957d34dcb9df.zip
Merge branch 'master' into sqlmigrate
Conflicts: mediagoblin/db/sql/models.py
Diffstat (limited to 'docs/source')
-rw-r--r--docs/source/about.rst13
-rw-r--r--docs/source/codebase.rst66
-rw-r--r--docs/source/conf.py4
-rw-r--r--docs/source/configuration.rst32
-rw-r--r--docs/source/deploying.rst15
-rw-r--r--docs/source/foreword.rst13
-rw-r--r--docs/source/help.rst13
-rw-r--r--docs/source/index.rst13
-rw-r--r--docs/source/media-types.rst32
-rw-r--r--docs/source/mgext/__init__.py0
-rw-r--r--docs/source/mgext/youcanhelp.py44
-rw-r--r--docs/source/production-deployments.rst13
-rw-r--r--docs/source/theming.rst13
13 files changed, 207 insertions, 64 deletions
diff --git a/docs/source/about.rst b/docs/source/about.rst
index 1a2df809..7a6aa510 100644
--- a/docs/source/about.rst
+++ b/docs/source/about.rst
@@ -1,3 +1,16 @@
+.. MediaGoblin Documentation
+
+ Written in 2011, 2012 by MediaGoblin contributors
+
+ To the extent possible under law, the author(s) have dedicated all
+ copyright and related and neighboring rights to this software to
+ the public domain worldwide. This software is distributed without
+ any warranty.
+
+ You should have received a copy of the CC0 Public Domain
+ Dedication along with this software. If not, see
+ <http://creativecommons.org/publicdomain/zero/1.0/>.
+
=======================
About GNU MediaGoblin
=======================
diff --git a/docs/source/codebase.rst b/docs/source/codebase.rst
index 28d73802..e784c9e5 100644
--- a/docs/source/codebase.rst
+++ b/docs/source/codebase.rst
@@ -1,3 +1,16 @@
+.. MediaGoblin Documentation
+
+ Written in 2011, 2012 by MediaGoblin contributors
+
+ To the extent possible under law, the author(s) have dedicated all
+ copyright and related and neighboring rights to this software to
+ the public domain worldwide. This software is distributed without
+ any warranty.
+
+ You should have received a copy of the CC0 Public Domain
+ Dedication along with this software. If not, see
+ <http://creativecommons.org/publicdomain/zero/1.0/>.
+
.. _codebase-chapter:
========================
@@ -35,8 +48,10 @@ Software Stack
* `Nose <http://somethingaboutorange.com/mrl/projects/nose/>`_:
for unit tests
- * `buildout <http://www.buildout.org/>`_: for getting dependencies,
- building a runtime environment, ...
+ * `virtualenv <http://www.virtualenv.org/>`_: for setting up an
+ isolated environment to keep mediagoblin and related packages
+ (potentially not required if MediaGoblin is packaged for your
+ distro)
* Data storage
@@ -54,21 +69,47 @@ Software Stack
* `Routes <http://routes.groovie.org/>`_: for URL routing
- * `Beaker <http://beaker.groovie.org/>`_: for handling sessions
+ * `Beaker <http://beaker.groovie.org/>`_: for handling sessions and
+ caching
* `Jinja2 <http://jinja.pocoo.org/docs/>`_: the templating engine
- * `MongoKit <http://namlook.github.com/mongokit/>`_: the lightweight
- ORM for MongoDB we're using which will make it easier to define
- structures and all that
-
* `WTForms <http://wtforms.simplecodes.com/>`_: for handling,
validation, and abstraction from HTML forms
* `Celery <http://celeryproject.org/>`_: for task queuing (resizing
images, encoding video, ...)
- * `RabbitMQ <http://www.rabbitmq.com/>`_: for sending tasks to celery
+ * `MongoKit <http://namlook.github.com/mongokit/>`_: the lightweight
+ ORM for MongoDB we're using which will make it easier to define
+ structures and all that (will be swapped out soon...)
+
+ * `SQLAlchemy <http://sqlalchemy.org/>`_: SQL ORM and database
+ interaction library for Python. We'll be moving to this in the
+ upcoming move to SQL.
+
+ * `Babel <http://babel.edgewall.org>`_: Used to extract and compile
+ translations.
+
+ * `Markdown (for python) <http://pypi.python.org/pypi/Markdown>`_:
+ implementation of `Markdown <http://daringfireball.net/projects/markdown/>`_
+ text-to-html tool to make it easy for people to write richtext
+ comments, descriptions, and etc.
+
+ * `lxml <http://lxml.de/>`_: nice xml and html processing for
+ python.
+
+* Media processing libraries
+
+ * `Python Imaging Library <http://www.pythonware.com/products/pil/>`_:
+ used to resize and otherwise convert images for display.
+
+ * `GStreamer <http://gstreamer.freedesktop.org/>`_: (Optional, for
+ video hosting sites only) Used to transcode video, and in the
+ future, probably audio too.
+
+ * `chardet <http://pypi.python.org/pypi/chardet>`_: (Optional, for
+ ascii art hosting sites only) Used to make ascii art thumbnails.
* Front end
@@ -79,7 +120,8 @@ Software Stack
What's where
============
-After you've run buildout, you're faced with the following directory
+After you've run checked out mediagoblin and followed the virtualenv
+instantiation instructions, you're faced with the following directory
tree::
mediagoblin/
@@ -89,12 +131,14 @@ tree::
| |- auth/
| \- submit/
|- docs/ # documentation
+ |- devtools/ # some scripts for developer convenience
|
- | # the below directories are generated by buildout.
+ | # the below directories are installed into your virtualenv checkout
|
|- bin/ # scripts
|- develop-eggs/
- |- eggs/
+ |- lib/ # python libraries installed into your virtualenv
+ |- include/
|- mediagoblin.egg-info/
|- parts/
|- user_dev/ # sessions, etc
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 3014e592..aafcf128 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -25,7 +25,7 @@ sys.path.insert(0, os.path.abspath('.'))
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ["mgext.youcanhelp"]
+extensions = []
# Add any paths that contain templates here, relative to this directory.
templates_path = ['source/_templates']
@@ -41,7 +41,7 @@ master_doc = 'index'
# General information about the project.
project = u'GNU MediaGoblin'
-copyright = u'2011, Free Software Foundation, Inc and contributors'
+copyright = u'2011, 2012 GNU MediaGoblin contributors'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
diff --git a/docs/source/configuration.rst b/docs/source/configuration.rst
index 1e22ad2d..a3dafa4c 100644
--- a/docs/source/configuration.rst
+++ b/docs/source/configuration.rst
@@ -1,3 +1,16 @@
+.. MediaGoblin Documentation
+
+ Written in 2011, 2012 by MediaGoblin contributors
+
+ To the extent possible under law, the author(s) have dedicated all
+ copyright and related and neighboring rights to this software to
+ the public domain worldwide. This software is distributed without
+ any warranty.
+
+ You should have received a copy of the CC0 Public Domain
+ Dedication along with this software. If not, see
+ <http://creativecommons.org/publicdomain/zero/1.0/>.
+
.. _configuration-chapter:
========================
@@ -7,6 +20,7 @@ Configuring MediaGoblin
So! You've got MediaGoblin up and running, but you need to adjust
some configuration parameters. Well you've come to the right place!
+
MediaGoblin's config files
==========================
@@ -71,16 +85,20 @@ Common changes
Enabling email notifications
----------------------------
-You'll almost certainly want to enable sending emails. By default,
+You'll almost certainly want to enable sending email. By default,
MediaGoblin doesn't really do this... for the sake of developer
-convenience, it runs in "email debug mode". Change this::
+convenience, it runs in "email debug mode".
+
+To make MediaGoblin send email, you need a mailer daemon.
+
+Change this in your ``mediagoblin.ini`` file::
email_debug_mode = false
-You can (and should) change the "from" email address by setting
-``email_sender_address``.
+You should also change the "from" email address by setting
+``email_sender_address``. For example::
-Note that you need a mailer daemon running for this to work.
+ email_sender_address = "foo@example.com"
If you have more custom SMTP settings, you also have the following
options at your disposal, which are all optional, and do exactly what
@@ -91,17 +109,19 @@ they sound like.
- email_smtp_user
- email_smtp_pass
+
All other configuration changes
-------------------------------
To be perfectly honest, there are quite a few options and we haven't had
-time to document them all
+time to document them all.
So here's a cop-out section saying that if you get into trouble, hop
onto IRC and we'll help you out::
#mediagoblin on irc.freenode.net
+
Celery
======
diff --git a/docs/source/deploying.rst b/docs/source/deploying.rst
index 4aded2e6..ce39dc4e 100644
--- a/docs/source/deploying.rst
+++ b/docs/source/deploying.rst
@@ -1,3 +1,16 @@
+.. MediaGoblin Documentation
+
+ Written in 2011, 2012 by MediaGoblin contributors
+
+ To the extent possible under law, the author(s) have dedicated all
+ copyright and related and neighboring rights to this software to
+ the public domain worldwide. This software is distributed without
+ any warranty.
+
+ You should have received a copy of the CC0 Public Domain
+ Dedication along with this software. If not, see
+ <http://creativecommons.org/publicdomain/zero/1.0/>.
+
=====================
Deploying MediaGoblin
=====================
@@ -118,7 +131,7 @@ Clone the MediaGoblin repository::
And setup the in-package virtualenv::
cd mediagoblin
- virtualenv . && ./bin/python setup.py develop
+ (virtualenv --system-site-packages . || virtualenv .) && ./bin/python setup.py develop
.. note::
diff --git a/docs/source/foreword.rst b/docs/source/foreword.rst
index aa27647f..be0c84b8 100644
--- a/docs/source/foreword.rst
+++ b/docs/source/foreword.rst
@@ -1,3 +1,16 @@
+.. MediaGoblin Documentation
+
+ Written in 2011, 2012 by MediaGoblin contributors
+
+ To the extent possible under law, the author(s) have dedicated all
+ copyright and related and neighboring rights to this software to
+ the public domain worldwide. This software is distributed without
+ any warranty.
+
+ You should have received a copy of the CC0 Public Domain
+ Dedication along with this software. If not, see
+ <http://creativecommons.org/publicdomain/zero/1.0/>.
+
========
Foreword
========
diff --git a/docs/source/help.rst b/docs/source/help.rst
index 34d4f37e..4b584ac1 100644
--- a/docs/source/help.rst
+++ b/docs/source/help.rst
@@ -1,3 +1,16 @@
+.. MediaGoblin Documentation
+
+ Written in 2011, 2012 by MediaGoblin contributors
+
+ To the extent possible under law, the author(s) have dedicated all
+ copyright and related and neighboring rights to this software to
+ the public domain worldwide. This software is distributed without
+ any warranty.
+
+ You should have received a copy of the CC0 Public Domain
+ Dedication along with this software. If not, see
+ <http://creativecommons.org/publicdomain/zero/1.0/>.
+
==================================
How to Get Help with MediaGoblin
==================================
diff --git a/docs/source/index.rst b/docs/source/index.rst
index f9c9285d..444ed688 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -1,3 +1,16 @@
+.. MediaGoblin Documentation
+
+ Written in 2011, 2012 by MediaGoblin contributors
+
+ To the extent possible under law, the author(s) have dedicated all
+ copyright and related and neighboring rights to this software to
+ the public domain worldwide. This software is distributed without
+ any warranty.
+
+ You should have received a copy of the CC0 Public Domain
+ Dedication along with this software. If not, see
+ <http://creativecommons.org/publicdomain/zero/1.0/>.
+
.. GNU MediaGoblin documentation master file, created by
sphinx-quickstart on Thu Apr 7 20:10:27 2011.
You can adapt this file completely to your liking, but it should at least
diff --git a/docs/source/media-types.rst b/docs/source/media-types.rst
index 76478143..ec068422 100644
--- a/docs/source/media-types.rst
+++ b/docs/source/media-types.rst
@@ -1,3 +1,16 @@
+.. MediaGoblin Documentation
+
+ Written in 2011, 2012 by MediaGoblin contributors
+
+ To the extent possible under law, the author(s) have dedicated all
+ copyright and related and neighboring rights to this software to
+ the public domain worldwide. This software is distributed without
+ any warranty.
+
+ You should have received a copy of the CC0 Public Domain
+ Dedication along with this software. If not, see
+ <http://creativecommons.org/publicdomain/zero/1.0/>.
+
.. _media-types-chapter:
====================
@@ -32,3 +45,22 @@ Note that you almost certainly want to separate Celery from the normal
paste process or your users will probably find that their connections
time out as the video transcodes. To set that up, check out the
":doc:`production-deployments`" section of this manual.
+
+
+Ascii art
+=========
+
+To enable ascii art support, first install the
+`chardet <http://pypi.python.org/pypi/chardet>`_
+library, which is necessary for creating thumbnails of ascii art::
+
+ ./bin/easy_install chardet
+
+
+Next, modify (and possibly copy over from ``mediagoblin.ini``) your
+``mediagoblin_local.ini``. Uncomment or add to the media_types line
+'mediagoblin.media_types.ascii' like so::
+
+ media_types = mediagoblin.media_types.image, mediagoblin.media_types.ascii
+
+Now any .txt file you uploaded will be processed as ascii art!
diff --git a/docs/source/mgext/__init__.py b/docs/source/mgext/__init__.py
deleted file mode 100644
index e69de29b..00000000
--- a/docs/source/mgext/__init__.py
+++ /dev/null
diff --git a/docs/source/mgext/youcanhelp.py b/docs/source/mgext/youcanhelp.py
deleted file mode 100644
index a99d0e4d..00000000
--- a/docs/source/mgext/youcanhelp.py
+++ /dev/null
@@ -1,44 +0,0 @@
-from docutils import nodes
-
-from sphinx.util.compat import Directive, make_admonition
-
-class youcanhelp_node(nodes.Admonition, nodes.Element):
- pass
-
-class YouCanHelp(Directive):
- has_content = True
- required_arguments = 0
- optional_arguments = 0
- final_argument_whitespace = False
- option_spec = {}
-
- def run(self):
- ad = make_admonition(
- youcanhelp_node,
- self.name,
- ["You Can Help!"],
- self.options,
- self.content,
- self.lineno,
- self.content_offset,
- self.block_text,
- self.state,
- self.state_machine)
- ad[0].line = self.lineno
- return ad
-
-def visit_youcanhelp_node(self, node):
- self.visit_admonition(node)
-
-def depart_youcanhelp_node(self, node):
- self.depart_admonition(node)
-
-def setup(app):
- app.add_node(
- youcanhelp_node,
- html=(visit_youcanhelp_node, depart_youcanhelp_node),
- latex=(visit_youcanhelp_node, depart_youcanhelp_node),
- text=(visit_youcanhelp_node, depart_youcanhelp_node)
- )
-
- app.add_directive('youcanhelp', YouCanHelp)
diff --git a/docs/source/production-deployments.rst b/docs/source/production-deployments.rst
index ef0bcad6..1e6631db 100644
--- a/docs/source/production-deployments.rst
+++ b/docs/source/production-deployments.rst
@@ -1,3 +1,16 @@
+.. MediaGoblin Documentation
+
+ Written in 2011, 2012 by MediaGoblin contributors
+
+ To the extent possible under law, the author(s) have dedicated all
+ copyright and related and neighboring rights to this software to
+ the public domain worldwide. This software is distributed without
+ any warranty.
+
+ You should have received a copy of the CC0 Public Domain
+ Dedication along with this software. If not, see
+ <http://creativecommons.org/publicdomain/zero/1.0/>.
+
=========================================
Considerations for Production Deployments
=========================================
diff --git a/docs/source/theming.rst b/docs/source/theming.rst
index 2f4fcb4c..7584b688 100644
--- a/docs/source/theming.rst
+++ b/docs/source/theming.rst
@@ -1,3 +1,16 @@
+.. MediaGoblin Documentation
+
+ Written in 2011, 2012 by MediaGoblin contributors
+
+ To the extent possible under law, the author(s) have dedicated all
+ copyright and related and neighboring rights to this software to
+ the public domain worldwide. This software is distributed without
+ any warranty.
+
+ You should have received a copy of the CC0 Public Domain
+ Dedication along with this software. If not, see
+ <http://creativecommons.org/publicdomain/zero/1.0/>.
+
.. _theming-chapter:
=====================