@chapter Website work
@menu
-* Introduction to website work::
+* Introduction to website work::
* Uploading and security::
* Translating the website::
@end menu
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
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
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
@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
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
@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
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
### 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 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
+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:
@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
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;
@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.