Adding theme paragraph.
[libreplanet-static.git] / 2017 / README.md
CommitLineData
179bf9bc
ZR
1README version for LibrePlanet 2017
2
3Heads up: to edit the Web site, you'll need a basic-to-intermediate understanding of HTML and git.
fcf95e6d 4
60bc0202 5##### SECTION 1: DEVELOPMENT WORKFLOW #####
fcf95e6d 6
60bc0202 7The actual LIVE site, visible at libreplanet.org/YEAR, is served from the "stable" branch of the git repository using a git hook. There is also a development branch called "master" which we use to preview edits on the Web. The master branch is served to the Web at http://wiki-dev0.libreplanet.org/YEAR and publicly visible, but not linked to.
fcf95e6d 8
60bc0202
ZR
9Full workflow to make, test and deploy an edit
10-----------------
fcf95e6d 11
179bf9bc 12* Check out the master branch and make sure it is up to date with origin/master.
60bc0202 13 * git checkout master
179bf9bc 14 * git pull
60bc0202
ZR
15* If this a large edit or a small edit? If it is small, edit, work in master. If this is a large edit that will take longer than a day, make a new branch based on the master branch and work there.
16* Make your edits. (See instructions for editing content below.)
17* Optionally, test them on your computer with a local development environment. (See instructions below for setting up your development environment).
179bf9bc 18* If you are working on your own branch created for your edit, merge, your branch into master.
60bc0202
ZR
19 * git checkout master
20 * git merge BRANCHNAME
179bf9bc 21* Push master
60bc0202
ZR
22 * git push
23* Review the edited version of the site at http://wiki-dev0.libreplanet.org/YEAR. You can share this with others.
179bf9bc 24* When you are satisfied, merge master into stable and then push stable.
60bc0202
ZR
25 * git checkout stable
26 * git merge master
27 * git push
179bf9bc 28* Your edits are now live and visible at libreplanet.org/YEAR
60bc0202
ZR
29
30##### SECTION 2: EDITING INSTRUCTIONS #####
31
32This site is built with [Bootstrap 3.3.5](https://github.com/twbs/bootstrap/releases/download/v3.3.5/bootstrap-3.3.5-dist.zip) and [jQuery 1.11.1](http://code.jquery.com/jquery-1.11.3.js) but you do not need to understand either of these technologies to make minor content edits to the site.
fcf95e6d 33
34Creating a New Page
35-------------------
36
60bc0202 37*Boilerplate*
fcf95e6d 38
39Add the following to your new page (it should remain commented out, as that is the syntax for SSI):
40
41```
42<!--#include virtual="/2017/includes/header.html"-->
43<!--#include virtual="/2017/includes/banner.html"-->
44<!--#include virtual="/2017/includes/sidebar.html"-->
45<!--#include virtual="/2017/includes/footer.html"-->
46<!--#include virtual="/2017/includes/close.html"-->
47```
48
49This will include the header, banner, sidebar, footer and closing tags
50saving you from duplicating HTML.
51
52If JS is needed for a page, then create a file, containing the JS
53includes, in `/2017/includes/` & use SSI to include it in the page.
54
55Use `/2017/includes/boilerplate.html` to start a new page.
56
60bc0202 57*Add Your Markup*
fcf95e6d 58
59Add HTML markup in-between the sidebar and footer includes.
60
60bc0202 61*Enable SSI*
fcf95e6d 62
63Files that contain include directives must be marked as executable
64otherwise Apache will not parse them. (The directive `XBitHack on` in the .conf file pasted above enables this behavior).
65
66To mark a file as executable, run:
67
68```
69chmod +x foo.html
70```
71
72Replace `foo.html` with the desired file name.
73
7ba5343a 74Modifying top-right corner
75--------------------------
76
77In the `/2017/includes/banner.html` find the `...#top-right-desktop
78start...` section.
79
60bc0202 80*For register now*
7ba5343a 81
82Include `register-now.html`
83
84 <!-- #top-right-desktop start -->
85 <!--#include virtual="/2017/includes/register-now.html"-->
86 <!-- #top-right-desktop end -->
87
60bc0202 88*For join LP list form*
7ba5343a 89
90Include `join-list.html`
91
92 <!-- #top-right-desktop start -->
93 <!--#include virtual="/2017/includes/join-list.html"-->
94 <!-- #top-right-desktop end -->
95
fcf95e6d 96
60bc0202
ZR
97##### SECTION 3: SETTING UP A LOCAL DEVELOPMENT ENVIRONMENT #####
98
99Apache is required in order to replicate the appearance of the website
100on the live and staging servers on your machine. If you don't want to
101install Apache, you can still work on the site, you just won't be able
102to see what it looks like until you push to the remote.
103
104Modifying Apache's configuration files and running its executables
105typically requires root access. So, you will most likely need to run
106the commands below as the root user using `sudo`.
107
108*Enable server-side include module*
109
110```
111a2enmod include
112```
113
114If this doesn't work, you may not have Apache installed. Install the
115package apache2 from your package manager.
116
117*Create virtual host*
118
119Create a new file called libreplanet (libreplanet.conf for Apache 2.4) in `/etc/apache2/sites-available` with the following contents:
120
121```
122<VirtualHost *:80>
123RewriteEngine on
124 ServerName local-dev.libreplanet.org
125 ServerAdmin webmaster@localhost
126 DocumentRoot /local-path/path-to-site
127 <Directory /local-path/path-to-site/>
128 Options Indexes FollowSymLinks MultiViews
129 AllowOverride All
130 Require all granted
131 Order deny,allow
132 deny from none
133 allow from all
134 SSILegacyExprParser on
135 Options +Includes
136 XBitHack on
137 </Directory>
138 ErrorLog /home/owner/libreplanet-static/logs/error.log
139 CustomLog /home/owner/libreplanet-static/access.log combined
140</VirtualHost>
141```
142
143Replace all instances of `/path/to/libreplanet-static` with the full path to the root directory of your local
144git repository.
145
146*Enable virtual host*
147
148```
149a2ensite your-virtual-host
150```
151
152Replace `your-virtual-host` with the name of virtual host file you made (in this case, libreplanet).
fcf95e6d 153
60bc0202 154*Restart Apache*
fcf95e6d 155
156```
60bc0202 157service apache2 restart
fcf95e6d 158```
159
60bc0202 160*Edit your hosts file*
fcf95e6d 161
60bc0202
ZR
162Edit your system's `/etc/hosts` file and add the following to the bottom:
163
164```
165127.0.0.1 lp2017.libreplanet.org
166```
fcf95e6d 167
60bc0202 168*Test*
fcf95e6d 169
60bc0202
ZR
170Visit <http://lp2017.libreplanet.org/2017> in your web browser. If
171everything is configured properly, you will see the LibrePlanet 2017
172site, complete with header, sidebar, and footer.