2014-11-15 01:43:25 +00:00
# How to contribute
2017-07-03 09:56:57 +02:00
Thanks for being interested to work on the website, I tried to make a simple
2014-11-17 01:10:00 +00:00
how-to for you to quickly get you setup:
2014-11-15 01:43:25 +00:00
__Step 1:__ Clone the git repo.
git clone https://git.torproject.org/project/web/webwml.git
cd webwml
2017-07-03 09:56:57 +02:00
__Step 1b:__ Create a bare public repository (i.e on Github), where you'd push
2014-11-17 01:10:00 +00:00
your commits to. Make sure you're in `webwml` directory, and run:
2014-11-15 01:43:25 +00:00
git remote add pick-a-name your-git-url
_Example:_
2014-11-17 01:10:33 +00:00
`git remote add tpo-gh git@github.com:mrphs/tpo.git`
2014-11-15 01:43:25 +00:00
__Step 2:__ Create and switch to a new branch.
2017-07-03 09:56:57 +02:00
_In the following example, I've named my branch "docs" as I'm planning to work
2014-11-17 01:10:00 +00:00
on the documentations._
2014-11-15 01:43:25 +00:00
git checkout -b docs
2017-07-03 09:56:57 +02:00
__Step 3:__ Now you can start working on website and make changes. Once you're
2014-11-17 01:10:00 +00:00
done, commit and push it to your public repo.
2014-11-15 01:43:25 +00:00
_Example:_
git push tpo-gh docs
2017-07-03 09:56:57 +02:00
__Step 4:__ Open a new ticket on [trac ](https://trac.torproject.org ) with a
2014-11-17 01:10:00 +00:00
link to your shiny new repo/branch.
2014-11-15 01:43:25 +00:00
2014-11-15 00:52:44 +00:00
# Building website
Torproject website is being built and published automatically.
To quickly get set up and build website locally, simply follow these steps:
2014-11-14 08:34:04 -08:00
2014-11-14 23:40:26 +00:00
__Step 1:__ Get the website's build dependencies.
2014-11-14 08:34:04 -08:00
2014-11-14 23:40:26 +00:00
sudo apt-get install wml asciidoc
2017-07-03 09:56:57 +02:00
__Step 2:__ Configure where to find your tor git repository. It needs this
2014-11-17 01:10:00 +00:00
to make the
2014-11-14 08:34:04 -08:00
manual page.
2014-11-14 23:40:26 +00:00
git clone https://git.torproject.org/project/web/webwml.git
cd webwml
cp Makefile.local.sample Makefile.local
2017-07-03 09:56:57 +02:00
2014-11-14 23:40:26 +00:00
Note: Change the `TORGIT` in Makefile.local to point to your tor git repo.
2014-11-14 08:34:04 -08:00
2014-11-14 23:40:26 +00:00
__Step 3:__ Make the website.
2014-11-14 08:34:04 -08:00
2014-11-14 23:40:26 +00:00
make
2014-11-14 08:34:04 -08:00
You should now be able to point your browser at the locally generated site...
2014-11-14 23:40:26 +00:00
file:///home/atagar/Desktop/tor/webwml/getinvolved/volunteer.html.en
2014-11-14 08:34:04 -08:00
2014-11-14 23:40:26 +00:00
### Troubleshooting the build
2014-11-14 08:34:04 -08:00
2014-11-14 23:40:26 +00:00
The build fails with "Invalid object name".
2014-11-14 08:34:04 -08:00
If you get an error like...
---- Contents of STDERR channel: ---------
fatal: Invalid object name 'tor-0.2.6.1-alpha'.
asciidoc: FAILED: manpage document title is mandatory
2017-07-03 09:56:57 +02:00
No manpage because of asciidoc error or file not available from git at
2014-11-17 01:10:00 +00:00
/tmp/wml.zwcq0q/wml.30867.tmp1.wml line 415.
2014-11-14 08:34:04 -08:00
2017-07-03 09:56:57 +02:00
This means your tor repository is out of date. Update your tor git
2014-11-17 01:10:00 +00:00
repository.
2014-11-14 08:34:04 -08:00
2017-07-03 09:56:57 +02:00
### Some information regarding working with minified CSS and JS sources
2017-07-03 10:56:28 +02:00
If you want to edit any of the CSS or JS sources, please bear in mind that the HTML uses the minified versions. We keep in the repository both versions side-to-side. Once you edit the original source make sure you generate the minified version again. Most editors have plugins to minify CSS and JS files. On Debian it is possible to install the yui-compressor package and use it as follows:
yui-compressor myfile.js -o myfile-min.js
2017-07-03 09:56:57 +02:00
If you are wondering why is it "cool" to minify sources even though compression is used on the server, please consider that Minification can be well be used in combination with gzipping sources. Minification does a lot of additional things that compression doesn't do. During minification comments are removed, long variables are renamed to shorter variable names, etc. Transferred data can be significantly smaller after minification, than by simply compressing the original. Although this depends a lot on the original source, minifying helps with mobile browsers and slower connections.
2014-11-14 23:40:26 +00:00
### More detailed instructions from Roger
2017-07-03 09:56:57 +02:00
_Note: This section was written when website repo was still on svn, and it
2014-11-17 01:10:00 +00:00
wasn't built automatically._
2014-11-14 08:34:04 -08:00
2013-10-17 03:08:47 +00:00
Here are the instructions I sent David Fifield when he asked about
editing the website. I hope they are useful for you too! --Roger
2014-10-19 20:34:18 -04:00
Copy Makefile.local.sample to Makefile.local in your webwml/ directory.
Point TORGIT to a tor git.
2013-10-17 03:08:47 +00:00
Then apt-get install wml and (alas) probably a shocking number of other
debs. Then you can type 'make' and it will build the website for you
locally. It's probably a smart move to see whether 'make' works before
2014-10-19 20:34:18 -04:00
you git commit any changes to the wml files.
2013-10-17 03:08:47 +00:00
You can edit docs/en/pluggable-transports.wml (and that is
the right source file to edit, not the html). But go take a
look at that file. You'll notice it has a bunch of tags like
2014-03-29 16:16:23 +00:00
< version-torbrowserbundle > . If you're just bumping version
2013-10-17 03:08:47 +00:00
numbers, you probably just want to change the definition of those tags.
They're in include/versions.wmi
(Every once in a while you may need to edit pluggable-transports.wml
too -- generally when you change the file name so drastically that just
changing the versions.wmi tags isn't enough.)
2014-10-18 00:29:37 +02:00
Pushes to the master branch of the git repository will cause the
2014-10-19 20:34:18 -04:00
website to get re-built and published. Pushing to the staging branch
2014-10-18 00:29:37 +02:00
will update www-staging.torproject.org.
2013-10-17 03:08:47 +00:00
Alas, https://www.torproject.org/dist/ isn't in version control. You
2014-10-19 20:34:18 -04:00
write to it by ssh'ing to dist-master.torproject.org and going to
2014-10-18 00:29:37 +02:00
/srv/dist-master.torproject.org/htdocs/ and then sticking your stuff
there. When you want it to go live, you run
2014-10-19 20:34:18 -04:00
"static-update-component dist.torproject.org" on dist-master.
2013-10-17 03:08:47 +00:00
Weasel has hopes that somebody will write some scripts to make maintaining
packages in dist/ less awful -- automatically check that they have
signatures and that the sigs match, that the items on the website are in
fact in dist, only allow certain people to put files in certain places,
etc. One day! :)
2015-11-23 09:57:39 -08:00
# tp_donation