Update the website: Difference between revisions

From GNU MediaGoblin Wiki
Jump to navigation Jump to search
(new simpler setup.)
(adjusted instructions after website changed from pybloxsom to pelican)
Line 18: Line 18:
git merge origin/master
git merge origin/master


First of all you will need to [http://docs.getpelican.com/en/latest/getting_started.html#installing-pelican install Pelican] to generates the site and [http://pythonpaste.org/deploy/ Paste] to serve it locally for testing purposes. The recommended way to do this is inside virtualenv.
Okay, Make sure you have virtualenv installed (is it on your path? If not you might need to install it via your package manager.)

Okay, make sure you have virtualenv installed (is it on your path? If not you might need to install it via your package manager.)

Set up the virtualenv
Set up the virtualenv


make virtualenv
virtualenv ~/virtualenvs/pelican
cd ~/virtualenvs/pelican
. bin/activate


Set up Pelican and Paste
Next, to build the site and test it in your browser, run:
pip install pelican PasteDeploy



make
Asssuming you have a copy of the repo in yout virtualenv's folder, you can now build the site and test it in your browser:

cd mediagoblin-website
make html && paster serve blog.ini


That's it! If all is successful, it should give you a url like http://localhost:5000/
That's it! If all is successful, it should give you a url like http://localhost:5000/
Line 33: Line 43:
= Layout of the repository =
= Layout of the repository =


* '''site/entries/news/''' -- new blogposts go here. Usually we use restructured text. Copy an old file and mime it.
* '''content/''' -- new blogposts go here. Usually we use restructured text. Copy an old file and mime it.
* '''plugins/''' -- Pelican plugins.
* '''site/pages/''' -- various non-blog pages of the site. Join page, about us, etc.
* '''site/static/''' -- images and stuff goes in here. Look around and you'll see.
* '''static/''' -- images and stuff goes in here. Look around and you'll see.
* '''site/flavors/''' -- site's template "look and feel" described here.
* '''theme/template/''' -- site's template "look and feel" described here.
* '''theme/templates/pages/''' -- various non-blog pages of the site. Join page, about us, etc.



= Making and committing changes =
= Making and committing changes =
Line 45: Line 57:
git pull
git pull


Add files, make changes. To test them, activate the virtualenv, recompile, start the server... you'll then be able to visit http://localhost:8000/ in your browser.
Add files, make changes. To test them, activate the virtualenv, recompile, start the server... you'll then be able to visit http://localhost:5000/ in your browser.


source bin/activate
. ../bin/activate
make html && paster serve blog.ini
./compile.sh && ./testhttpserver.py


Commit to the draft branch when things look good. (This might be more complex if you don't have commit access.. if you're a guest contributor, ask for help in the channel if you get stuck.)
Commit to the draft branch when things look good. (This might be more complex if you don't have commit access.. if you're a guest contributor, ask for help in the channel if you get stuck.)
Line 55: Line 67:
git status
git status
# Stage changes that you intend to commit
# Stage changes that you intend to commit
git add file1.txt file2.txt # replace with real filepaths here
git add file1.rst file2.html # replace with real filepaths here
# Commit! You'll be prompted by your text editor
# Commit! You'll be prompted by your text editor
git commit -m "Describe your changes here"
git commit -m "Describe your changes here"

Revision as of 09:19, 4 October 2013

Okay, updating mediagoblin.org! Well, obviously not everyone has permission to do this, so depending on whether or not you have commit access affects whether or not you'll send a branch for review, pretty much the same as how you do with normal git contributions.

First time

First, do a git checkout:

https://gitorious.org/mediagoblin/mediagoblin-website

Don't have commit access? Then you should probably make a clone and put it up somewhere.

  git clone git://gitorious.org/mediagoblin/mediagoblin-website.git

Next, switch to the "draft" branch, or make a local clone of that if you haven't already.

 git branch draft origin/draft
 git checkout draft
 # merge in any stray commits from master
 git merge origin/master

First of all you will need to install Pelican to generates the site and Paste to serve it locally for testing purposes. The recommended way to do this is inside virtualenv.

Okay, make sure you have virtualenv installed (is it on your path? If not you might need to install it via your package manager.)

Set up the virtualenv

 virtualenv ~/virtualenvs/pelican
 cd ~/virtualenvs/pelican
 . bin/activate

Set up Pelican and Paste

 pip install pelican PasteDeploy


Asssuming you have a copy of the repo in yout virtualenv's folder, you can now build the site and test it in your browser:

 cd mediagoblin-website
 make html && paster serve blog.ini

That's it! If all is successful, it should give you a url like http://localhost:5000/

If that works, you should be able to visit that URL in your browser and it'll look like http://mediagoblin.org/

Layout of the repository

  • content/ -- new blogposts go here. Usually we use restructured text. Copy an old file and mime it.
  • plugins/ -- Pelican plugins.
  • static/ -- images and stuff goes in here. Look around and you'll see.
  • theme/template/ -- site's template "look and feel" described here.
  • theme/templates/pages/ -- various non-blog pages of the site. Join page, about us, etc.


Making and committing changes

Make sure you're in the draft branch:

 git checkout draft
 git pull

Add files, make changes. To test them, activate the virtualenv, recompile, start the server... you'll then be able to visit http://localhost:5000/ in your browser.

 . ../bin/activate
 make html && paster serve blog.ini

Commit to the draft branch when things look good. (This might be more complex if you don't have commit access.. if you're a guest contributor, ask for help in the channel if you get stuck.)

 # See what files need to be committed here
 git status
 # Stage changes that you intend to commit
 git add file1.rst file2.html  # replace with real filepaths here
 # Commit!  You'll be prompted by your text editor
 git commit -m "Describe your changes here"
 # Push live
 git push

Going live

Are you ready to go live? Are you sure? It's probably a good idea to run by Will or Chris in the channel before doing this.

If you're ready, commit and push to the master branch. Changes to the master branch are periodically auto-updated on the server.

 git checkout master
 git pull
 git merge draft
 git push