1 @c -*- coding: utf-8; mode: texinfo; -*-
6 * Introduction to website work::
7 * Uploading and security::
8 * Translating the website::
12 @node Introduction to website work
13 @section Introduction to website work
15 The website is @emph{not} written directly in HTML;
16 instead, the source is Texinfo, which is then generated into HTML,
17 PDF, and Info formats. The sources are
20 Documentation/web.texi
21 Documentation/web/*.texi
24 Unless otherwise specified, follow the instructions and policies
25 given in @ref{Documentation work}. That chapter also contains a
26 quick introduction to Texinfo; consulting an external Texinfo
27 manual should be not necessary.
29 @subheading Exceptions to the documentation policies
34 Sectioning: the website only uses chapters and sections; no
35 subsections or subsubsections.
38 @@ref@{@}s to other manuals (@@ruser, @@rlearning, etc): you can't
39 link to any pieces of automatically generated documentation, like
40 the IR or certain NR appendices.
45 For anything not listed here, just follow the same style as the
46 existing texinfo files.
51 @node Uploading and security
52 @section Uploading and security
54 The website is generated hourly by user @code{graham} the host
55 @code{lilypond.org}. For security reasons, we do not use the
56 makefiles and scripts directly from git; copies of the relevant
57 scripts are examined and copied to
58 @code{~graham/lilypond/trusted-scripts/}
60 Get latest source code:
67 git merge origin/master
70 Check for any updates to trusted scripts:
75 GIT=$HOME/src/lilypond
76 DEST=$HOME/lilypond/trusted-scripts
77 diff -u $GIT/website.make $DEST/website.make
78 diff -u $GIT/Documentation/lilypond-texi2html.init $DEST/lilypond-texi2html.init
79 diff -u $GIT/scripts/build/extract_texi_filenames.py $DEST/extract_texi_filenames.py
80 diff -u $GIT/scripts/build/create-version-itexi.py $DEST/create-version-itexi.py
81 diff -u $GIT/scripts/build/create-weblinks-itexi.py $DEST/create-weblinks-itexi.py
84 If the changes look ok, make them trusted:
89 GIT=$HOME/src/lilypond
90 DEST=$HOME/lilypond/trusted-scripts
91 cp $GIT/website.make $DEST/website.make
92 cp $GIT/Documentation/lilypond-texi2html.init $DEST/lilypond-texi2html.init
93 cp $GIT/scripts/build/extract_texi_filenames.py $DEST/extract_texi_filenames.py
94 cp $GIT/scripts/build/create-version-itexi.py $DEST/create-version-itexi.py
95 cp $GIT/scripts/build/create-weblinks-itexi.py $DEST/create-weblinks-itexi.py
103 DEST=$HOME/public_html/
104 cd $HOME/src/build-website
105 cp $HOME/lilypond/trusted-scripts/website.make .
107 make -f website.make WEBSITE_ONLY_BUILD=1 website
108 rsync -ra $HOME/src/build-website/out-website/website/ $DEST/website/
109 cp $HOME/src/build-website/out-website/pictures $DEST
112 Cronjob to automate the trusted portions:
115 # website-rebuild.cron
116 11 * * * * $HOME/lilypond/trusted-scripts/update-git.sh >/dev/null 2>&1
117 22 * * * * $HOME/lilypond/trusted-scripts/make-website.sh >/dev/null 2>&1
121 To reduce the CPU burden on the shared host (as well as some
122 security concerns), the @file{Documentation/pictures/} and
123 @file{Documentation/web/ly-examples/} directories are @strong{not}
124 compiled. If you modify any files in those directories, a user in
125 the @code{lilypond} group must upload them to @file{~graham/media}
128 Upload latest pictures/ and ly-examples/ (local script):
131 ### upload-lily-web-media.sh
133 BUILD_DIR=$HOME/src/build-lilypond
135 PICS=$BUILD_DIR/Documentation/pictures/out-www/
136 EXAMPLES=$BUILD_DIR/Documentation/web/ly-examples/out-www/
139 rsync -a $PICS graham@lilypond.org:media/pictures
140 rsync -a $EXAMPLES graham@lilypond.org:ly-examples
144 @node Translating the website
145 @section Translating the website
147 As it has much more audience, the website should be translated before
148 the documentation; see @ref{Translating the documentation}.