diff --git a/docs/basic_customization.rst b/docs/basic_customization.rst new file mode 100644 index 0000000..9695f6c --- /dev/null +++ b/docs/basic_customization.rst @@ -0,0 +1,33 @@ +Basic Customization +=================== + + +Since we use the standard Django templating system you can edit +``pinry/templates`` and ``pinry/static`` to change the overall look and feel of +Pinry. It's all basic HTML, CSS and JS built on top of Bootstrap and some custom +JavaScript plugins, we don't provide any support for modifications to any of +this and future updates of Pinry may need to overwrite your changes so use +caution when changing the way Pinry looks. + + +Custom Settings +--------------- + +We currently have two custom settings you can change in +``pinry/settings/__init__.py``:: + + # Set to False to disable people from creating new accounts. + ALLOW_NEW_REGISTRATIONS = False + + # Set to False to force users to login before seeing any pins. + PUBLIC = True + +``ALLOW_NEW_REGISTRATIONS`` by default is set to False to prevent random people +from signing up to your Pinry, to create new private users you can use Django's +``createsuperuser``, add them to the database manually or open registrations +temporarily while you get your friends/family/coworkers to sign up. + +``PUBLIC`` by default is set to True, if you set to False users will have to +login to see any of your pins. This is a great way to create a completely +private system for a few users or just yourself. + diff --git a/docs/conf.py b/docs/conf.py index 2846e50..6cba7f9 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -51,9 +51,9 @@ copyright = u'2013, Isaac Bythewood' # built documents. # # The short X.Y version. -version = '1.3.1' +version = '1.3.2' # The full version, including alpha/beta/rc tags. -release = '1.3.1' +release = '1.3.2' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/deployment.rst b/docs/deployment.rst index d1f4ef9..26c2492 100644 --- a/docs/deployment.rst +++ b/docs/deployment.rst @@ -1,10 +1,42 @@ Deployment ========== +Deployment for a Django project is easier than most other frameworks and +languages but it's harder than a PHP project. We recommend using Docker to +deploy Pinry and we already have a Dockerfile created for you to do this. If +you'd like to deploy via another method please see `Django's documentation`_ on +the subject. + + +Notes On Deployment +------------------- + +While we don't want to go in depth on Django deployment you will need a few tips +for Pinry specific configuration. While most of Pinry acts like a standard +Django project we have a special settings setup. + +By default Django just has a single ``settings.py`` file in it's project folder, +we deviate from this in that we have a ``settings`` folder, ``pinry/settings``. +To change the base settings of Pinry you can play with +``pinry/settings/__init__.py`` but never import or run directly by pointing to +``pinry/settings`` or ``pinry/settings/__init__.py``, instead use +``pinry/settings/development.py`` and ``pinry/settings/production.py``. For a +production deployment you're going to need to edit ``production.py`` and point +that at the correct database and add your own ``SECRET_KEY``. Also note that +you're going to have to add the setting ``ALLOWED_HOSTS`` to point at the host +names going to your server or Django will block everyone trying to access your +site. + + +Using Docker +------------ + Our supported and suggested way to deploy Pinry is using Docker. We provide -support and instructions for that over at the -[docker-pinry GitHub repository](https://github.com/pinry/docker-pinry). +support and instructions for that over at the `docker-pinry GitHub repository`_. + + +.. Links -If you'd like a different setup then check out the hundreds of tutorials -for production Django deployment found via Google. +.. _Django's documentation: https://docs.djangoproject.com/en/1.5/howto/deployment/ +.. _docker-pinry GitHub repository: https://github.com/pinry/docker-pinry diff --git a/docs/getting_started.rst b/docs/getting_started.rst index 9a28121..a566d2a 100644 --- a/docs/getting_started.rst +++ b/docs/getting_started.rst @@ -1,20 +1,26 @@ Getting Started =============== +Below are the most basic requirements and a small test to make sure everything +is running properly before you get into the heavy lifting. Alternatively you can +skip to deployment and use our Dockerfile that will build and run everything for +you! + + Requirements ------------ Pinry is built on top of Django and optimized to run on a Linux environment. However we have gotten Pinry to work on Windows and Mac as well but it may require some extra digging around configuration. Pinry's Python requirements are -all in the `requirements.txt` file and easily installable once you have up a +all in the ``requirements.txt`` file and easily installable once you have up a virtual environment. What you need initially: * Python -* pip * virtualenv -* Your OS's build tools (Ubuntu: `build-essential`, Mac: `Xcode`) -* Build dependencies for PIL/Pillow (Ubuntu: `apt-get build-dep python-imaging`) +* pip +* Pillow build dependencies or the most recent version installed on your OS and + use ``virtualenv --system-site-packages`` when initiating virtualenv. After you have all of the above you can skip to Testing and make sure it all works. diff --git a/docs/index.rst b/docs/index.rst index 40ad1e1..2697389 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,24 +6,26 @@ to save, tag, and share images, videos and webpages in an easy to skim through format. +Documentation +------------- + +.. toctree:: + :maxdepth: 2 + + getting_started + basic_customization + running_on + deployment + + Useful Links ------------ * Get Pinry: http://getpinry.com/ * About Pinry: http://getpinry.com/about/ * Pinry Demo: http://demo.getpinry.com/ +* Pinry Issues: https://github.com/pinry/pinry/issues * pinry/pinry: https://github.com/pinry/pinry * pinry/docker-pinry: https://github.com/pinry/docker-pinry * pinry/getpinry.com: https://github.com/pinry/getpinry.com - - -Documentation -------------- - -.. toctree:: - :maxdepth: 2 - - getting_started - deployment - diff --git a/docs/running_on.rst b/docs/running_on.rst new file mode 100644 index 0000000..3bca1d9 --- /dev/null +++ b/docs/running_on.rst @@ -0,0 +1,32 @@ +Running On... +============= + +The system that we use and recommend you running Pinry on is Ubuntu. That being +said we provide buildout configs and pay very close attention to all other +operating systems, you should be able to develop/test/deploy pinry on every +platform, we just don't give support for them. + + +Ubuntu +------ + +Ubuntu is pretty simple to get Pinry running get some of our required packages +first:: + + sudo apt-get install python-virtualenv git + sudo apt-get build-dep python-imaging + +Then you'll need to get Pinry and setup our virtualenv:: + + git clone https://github.com/pinry/pinry.git + cd pinry + virtualenv . + bin/pip install -r requirements.txt + +From here you have a full working install of Pinry! You can: + +* Run some tests: ``bin/python manage.py test`` +* Run a development server: ``bin/python manage.py runserver`` +* Edit the settings files: ``pinry/settings`` +* Customize the theme: ``pinry/templates`` + ``pinry/static`` + diff --git a/setup.py b/setup.py index 7a36497..365193b 100644 --- a/setup.py +++ b/setup.py @@ -20,12 +20,12 @@ install_requires = [ setup( name="Pinry", - version="1.3.1", + version="1.3.2", author="Pinry Contributors", author_email="devs@getpinry.com", description=("A tiling image board system for people who want to save, " "tag, and share images, videos and webpages."), - license="AGPL-3+", + license="Simplified BSD", keywords="django tiling board tag share images pictures videos webpages", url="http://getpinry.com/", packages=find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests"]),