]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/contributor/website-work.itexi
Web build: move /media/ into shared /lilypond/ dir.
[lilypond.git] / Documentation / contributor / website-work.itexi
index 794e2c10ae24088842f694ea2532f366a4a71477..4921da3a54ba7af308f329826dadb081050784cc 100644 (file)
@@ -3,7 +3,7 @@
 @chapter Website work
 
 @menu
-* Introduction to website work::  
+* Introduction to website work::
 * Uploading and security::
 * Translating the website::
 @end menu
@@ -16,10 +16,10 @@ The website is @emph{not} written directly in HTML;
 instead, the source is Texinfo, which is then generated into HTML,
 PDF, and Info formats.  The sources are
 
-@verbatim
+@example
 Documentation/web.texi
 Documentation/web/*.texi
-@end verbatim
+@end example
 
 Unless otherwise specified, follow the instructions and policies
 given in @ref{Documentation work}.  That chapter also contains a
@@ -39,11 +39,17 @@ subsections or subsubsections.
 link to any pieces of automatically generated documentation, like
 the IR or certain NR appendices.
 
+@item
+The bibliography in Community->Publications is generated automatically
+from @file{.bib} files; formatting is done automatically by
+@file{texi-web.bst}.
+
+@item
 @dots{}
 
 @item
 For anything not listed here, just follow the same style as the
-existing texinfo files.
+existing website texinfo files.
 
 @end itemize
 
@@ -57,12 +63,61 @@ makefiles and scripts directly from git; copies of the relevant
 scripts are examined and copied to
 @code{~graham/lilypond/trusted-scripts/}
 
+@subheading Initial setup
+
+You should symlink your own @file{~/lilypond/} to
+@file{~graham/@/lilypond/}
+
+If this directory does not exist, make it.  Git master should go
+in @file{~/lilypond/@/lilypond@/-git/} but make sure you enable:
+
+@example
+git config core.filemode false
+@end example
+
+If you have created any files in @file{~graham/@/lilypond/} then
+please run:
+
+@example
+chgrp lilypond ~graham/lilypond/ -R
+chmod 775 ~graham/lilypond/ -R
+@end example
+
+To reduce the CPU burden on the shared host (as well as some
+security concerns), the @file{Documentation/@/pictures/} and
+@file{Documentation/@/web/@/ly-examples/} directories are
+@strong{not} compiled.  You need to upload them, and if they ever
+change, a user in the @code{lilypond} group must upload them to
+@file{~graham/@/lilypond@/media} on the host.
+
+Upload latest pictures/ and ly-examples/ (local script):
+
+@warning{You may need to change a number of items in the below
+script.}
+
+@verbatim
+### upload-lily-web-media.sh
+#!/bin/sh
+BUILD_DIR=$HOME/src/build-lilypond
+
+PICS=$BUILD_DIR/Documentation/pictures/out-www/
+EXAMPLES=$BUILD_DIR/Documentation/web/ly-examples/out-www/
+
+cd $BUILD_DIR
+rsync -a $PICS graham@lilypond.org:lilypond/media/pictures
+rsync -a $EXAMPLES graham@lilypond.org:lilypond/media/ly-examples
+@end verbatim
+
+
+
+@subheading Normal maintenance
+
 Get latest source code:
 
 @verbatim
 ### update-git.sh
 #!/bin/sh
-cd $HOME/src/lilypond
+cd $HOME/lilypond/lilypond-git
 git fetch origin
 git merge origin/master
 @end verbatim
@@ -72,7 +127,7 @@ Check for any updates to trusted scripts / files:
 @verbatim
 ### check-git.sh
 #!/bin/sh
-GIT=$HOME/src/lilypond
+GIT=$HOME/lilypond/lilypond-git
 DEST=$HOME/lilypond/trusted-scripts
 diff -u $DEST/website.make $GIT/make/website.make
 diff -u $DEST/lilypond-texi2html.init $GIT/Documentation/lilypond-texi2html.init
@@ -81,6 +136,7 @@ diff -u $DEST/create-version-itexi.py $GIT/scripts/build/create-version-itexi.py
 diff -u $DEST/create-weblinks-itexi.py $GIT/scripts/build/create-weblinks-itexi.py
 diff -u $DEST/mass-link.py $GIT/scripts/build/mass-link.py
 diff -u $DEST/website_post.py $GIT/scripts/build/website_post.py
+diff -u $DEST/bib2texi.py $GIT/scripts/build/bib2texi.py
 diff -u $DEST/lilypond.org.htaccess $GIT/Documentation/web/server/lilypond.org.htaccess
 diff -u $DEST/website-dir.htaccess $GIT/Documentation/web/server/website-dir.htaccess
 @end verbatim
@@ -90,7 +146,7 @@ If the changes look ok, make them trusted:
 @verbatim
 ### copy-from-git.sh
 #!/bin/sh
-GIT=$HOME/src/lilypond
+GIT=$HOME/lilypond/lilypond-git
 DEST=$HOME/lilypond/trusted-scripts
 cp $GIT/make/website.make $DEST/website.make
 cp $GIT/Documentation/lilypond-texi2html.init $DEST/lilypond-texi2html.init
@@ -99,6 +155,7 @@ cp $GIT/scripts/build/create-version-itexi.py $DEST/create-version-itexi.py
 cp $GIT/scripts/build/create-weblinks-itexi.py $DEST/create-weblinks-itexi.py
 cp $GIT/scripts/build/mass-link.py $DEST/mass-link.py
 cp $GIT/scripts/build/website_post.py $DEST/website_post.py
+cp $GIT/scripts/build/bib2texi.py $DEST/bib2texi.py
 cp $GIT/Documentation/web/server/lilypond.org.htaccess $DEST/lilypond.org.htaccess
 cp $GIT/Documentation/web/server/website-dir.htaccess $DEST/website-dir.htaccess
 @end verbatim
@@ -109,13 +166,15 @@ Build the website:
 ### make-website.sh
 #!/bin/sh
 DEST=$HOME/web/
-cd $HOME/src/build-website
+BUILD=$HOME/lilypond/build-website
+mkdir -p $BUILD
+cd $BUILD
 cp $HOME/lilypond/trusted-scripts/website.make .
 
-make -f make/website.make WEBSITE_ONLY_BUILD=1 website
-rsync -ra $HOME/src/build-website/out-website/website/ $DEST/website/
-cp $HOME/src/build-website/out-website/pictures $DEST
-cp $HOME/src/build-website/out-website/.htaccess $DEST
+make -f website.make WEBSITE_ONLY_BUILD=1 website
+rsync -raO $BUILD/out-website/website/ $DEST/website/
+cp $BUILD/out-website/pictures $DEST
+cp $BUILD/out-website/.htaccess $DEST
 @end verbatim
 
 Cronjob to automate the trusted portions:
@@ -127,27 +186,11 @@ Cronjob to automate the trusted portions:
 @end verbatim
 
 
-To reduce the CPU burden on the shared host (as well as some
-security concerns), the @file{Documentation/pictures/} and
-@file{Documentation/web/ly-examples/} directories are @strong{not}
-compiled.  If you modify any files in those directories, a user in
-the @code{lilypond} group must upload them to @file{~graham/media}
-on the host.
-
-Upload latest pictures/ and ly-examples/ (local script):
-
-@verbatim
-### upload-lily-web-media.sh
-#!/bin/sh
-BUILD_DIR=$HOME/src/build-lilypond
-
-PICS=$BUILD_DIR/Documentation/pictures/out-www/
-EXAMPLES=$BUILD_DIR/Documentation/web/ly-examples/out-www/
+@subsubheading Additional information
 
-cd $BUILD_DIR
-rsync -a $PICS graham@lilypond.org:media/pictures
-rsync -a $EXAMPLES graham@lilypond.org:ly-examples
-@end verbatim
+Some information about the website is stored in
+@file{~graham/@/lilypond/@/*.txt}; this information should not be
+shared with people without trusted access to the server.
 
 
 @node Translating the website
@@ -172,7 +215,7 @@ make website
 however, please note that this command is not designed for being
 run multiple times.  If you see unexpected output (mainly the page
 footers getting all messed up), then delete your
-@file{out-website} directory and run @code{make website} again.
+@file{out@/-website} directory and run @code{make website} again.
 
 @item
 Some of the translation infrastructure is defined in python files;
@@ -186,7 +229,7 @@ scripts/build/website_post.py
 @item
 Translations are not included by default in @code{make website}.
 To test your translation, edit the @code{WEB_LANGS} line in
-@file{make/website.make}.  Do not submit a patch to add your language
+@file{make/@/website@/.make}.  Do not submit a patch to add your language
 to this file unless @code{make website} completes with less than 5
 warnings.