]> Shamusworld >> Repos - ardour-manual/commitdiff
Minor tweaks to README and style guide to reflect new build system.
authorShamus Hammons <jlhamm@acm.org>
Mon, 13 Feb 2017 23:45:45 +0000 (17:45 -0600)
committerShamus Hammons <jlhamm@acm.org>
Tue, 14 Feb 2017 15:14:37 +0000 (09:14 -0600)
README.md
STYLE_GUIDE
build.py

index 83ac658450ea105dbbe424ffd213ca2349bef67d..6140834cb941af4372aff475632da7f6f499d11f 100644 (file)
--- a/README.md
+++ b/README.md
@@ -97,6 +97,5 @@ internet access. You will need `git`, and `python` installed.
 
 ### Helper scripts: `implode` and `explode`
 
-The `implode` and `explode` scripts exist in order to accomodate different working styles. `implode` takes all the files referenced by the `include` keywords in the headers in the Master Document and automagically puts them into the Master Document in their proper places. Note that any header that has an `exclude` keyword will remain in the `include/` directory. `explode` does the inverse of `implode`; it takes all the content in the Master Document and blows it into individual files in the `include/` directory. Filenames are automagically derived from the value of the `title` keyword.
-
+The `implode` and `explode` scripts exist in order to accomodate different working styles. `implode` takes all the files referenced by the `include` keywords in the headers in the Master Document and automagically puts them into the Master Document in their proper places. Note that any header that has an `exclude` keyword will remain in the `include/` directory. `explode` does the inverse of `implode`; it takes all the content in the Master Document and blows it into individual files in the `include/` directory.
 
index 09f7a6c51e43b352f12557d6283bb76f7b038a01..af78e989efa8cae5b85a68c70fb555576519e56f 100644 (file)
@@ -1,38 +1,41 @@
-*Style guide for the Ardour manual*
 
+*Style guide for the Ardour manual*
 
 
 1. Rationale
 ============
 
 The Ardour manual should be consistent across different media, and it should
-be easily updatable when Ardour's behaviour changes. 
-The markup should be semantic - looks are determined in the CSS, and only
-there. If you feel you must compromise the markup in order to obtain a
-certain look: don't do it. Accept the look.
-Alternatively, edit the CSS, but be careful not to make matters worse
+be easily updatable when Ardour's behaviour changes. The markup should be
+semantic--looks are determined in the CSS, and only there. If you feel you must
+compromise the markup in order to obtain a certain look: don't do it. Accept
+the look. Alternatively, edit the CSS, but be careful not to make matters worse
 elsewhere.
 
 
 1.1 visual markup
 -----------------
 
-<b>,<i>,<u>,<font> or any other purely visual elements are not used in 
-the Ardour manual.
-What you really mean is an <em>phasis or a <strong> emphasis.
+<b>,<i>,<u>,<font> or any other purely visual elements are not used in the
+Ardour manual. What you really mean is an <em>phasis or a <strong> emphasis.
 If you feel that some special terms should always be green and underlined, the
 approach of choice is this:
+
 <span class="my_important_keyword">foobar</span>
+
 and then add
+
 .my_important_keyword {
        text-decoration: underline;
         color: #004400;
         background-color: #eeffee;
 }
+
 to apps.css.
+
 If you add a new class with semantic meaning, document it below, under
 "Custom classes", and be sure to explain it to the reader at
-_manual/01_welcome-to-ardour/02_about-ardour-documentation.html.
+include/about-ardour-documentation.html.
 
 
 2. Format and Validation
@@ -58,6 +61,7 @@ semantic markup than core XHTML allows.
 Any XHTML element can include a class attribute. If you need to add a class
 attribute to a word or a few words which don't have an element of their own,
 use <span class="my_new_category">foo bar</span>.
+
 If you need to apply a class to several block-level elements such as
 paragraphs or lists, enclose them in a <div>..</div>. Wherever possible,
 create semantic classes rather than visual ones.
@@ -80,8 +84,8 @@ or sound quality issues. Currently rendered in a red box.
 use as additional classes to mark a section as relevant for these operating
 systems only.
 
-Check _manual/01_welcome-to-ardour/02_about-ardour-documentation.html, it
-serves as a style and markup guide.
+Check include/about-ardour-documentation.html, it serves as a style and
+markup guide.
 
 
 4. Element use
@@ -92,21 +96,29 @@ serves as a style and markup guide.
 ----------------------------
 
 <h1>..<h6>
-A <h1/> heading is added by the Ruby framework, so it should not be used in
+An <h1/> heading is added by the build script, so it should not be used in
 the manual page itself. If you feel you need another <h1>, start a new
-subpage.
-Heading levels must not be skipped. Any sub-heading must be exactly one
-level below its predecessor. Do not abuse headings to style a head line.
+subpage. Heading levels must not be skipped. Any sub-heading must be exactly
+one level below its predecessor. Do not abuse headings to style a head line.
 
 <p>
 Every snippet of text should be enclosed in a block level element. The
 default choice is <p>, the plain paragraph.
 
 <a>
-Cross-reference links in the manual are reasonably stable, since they are
-independent of the ordering number (which gets removed from the URL) and the
-pretty page title (the URL is created from the file name). So unless a file
-is renamed or moved to another sub-directory, links should be ok.
+Internal manual links should be absolutely stable, as long as the references in
+the master document do not change (and they absolutely *should* not be changed
+except for a *very* good reason, even then they probably should not be
+changed!). Use the form:
+
+<a href="@@my-internal-link">
+
+where @@my-internal-link is a reference to a "link:" keyword in a header in the
+master document. Note that in the master document, they will not have the
+double at-sign ("@@") in front, that is *only* used in the page content to
+signal to the build system that it is an internal link that needs to be fixed
+so that it points to the correct URL.
+
 
 4.1 Inline markups
 ------------------
@@ -119,40 +131,39 @@ in mind that <dfn> tags might be used to generate an index of keywords--don't
 pollute it too much.
 
 <abbr>
-is used to explain an abbreviation such as <abbr title="Linux Audio
-Developers Simple Plugin API">LADSPA</abbr>. Browsers will usually pop up the
-definition when the user hovers over the word. Renders as dotted underlined
-in most browsers.
-On each page, use only for the first occurrence of every abbreviation. Avoid
-a redundant explanation in the text--the expansion can easily be extracted 
-via CSS for printing.
-Use only in the text body, not in headings.
+is used to explain an abbreviation such as <abbr title="Linux Audio Developers
+Simple Plugin API">LADSPA</abbr>. Browsers will usually pop up the definition
+when the user hovers over the word. Renders as dotted underlined in most
+browsers. On each page, use only for the first occurrence of every
+abbreviation. Avoid a redundant explanation in the text--the expansion can
+easily be extracted via CSS for printing. Use only in the text body, not in
+headings.
 
 <em>
-is used to emphasize a word. Commonly rendered as italics.
-Use only if its a truly ad-hoc, one-off situation. For anything else,
-consider adding a new semantic markup with <span class="foo">.
+is used to emphasize a word. Commonly rendered as italics. Use only if its a
+truly ad-hoc, one-off situation. For anything else, consider adding a new
+semantic markup with <span class="foo">.
 
 <strong>
-is used to strongly emphasize a word. Commonly rendered in bold.
-See above for usage.
+is used to strongly emphasize a word. Commonly rendered in bold. See above for
+usage.
 
-<br />
-Most of the time, these should be avoided, and used very infrequently.
-A line-break can sometimes be used to structure a paragraph, or to split a
-longish heading. Never use spurious <br/>s at the end of paragraphs or to
-control the spacing of sections. If you're unhappy with those, fix the CSS
-(which fixes the entire manual in one go!)
+<br>
+Most of the time, these should be avoided, and used very infrequently. A line-
+break can sometimes be used to structure a paragraph, or to split a longish
+heading. Never use spurious <br>s at the end of paragraphs or to control the
+spacing of sections. If you're unhappy with those, fix the CSS (which fixes the
+entire manual in one go!).
 
 
 4.2 Lists
 ---------
 
-<ul>,<ol>
+<ul>, <ol>
 Use the unordered list for information snippets that do not have an implied
 order. The ordered list should always be used when a sequence of actions is
-described. Within the lists, each item must be enclosed in <li> tags.
-Lists cannot be included in <p>aragraphs. Close the paragraph first.
+described. Within the lists, each item must be enclosed in <li> tags. Lists
+cannot be included in <p>aragraphs. Close the paragraph first.
 
 <dl>
 Definition lists are for technical terms <dt> and their definition <dd>. Do
@@ -163,34 +174,35 @@ not abuse them for anything else.
 --------------
 
 <blockquote>
-is used when an entire paragraph is quoted. Must contain a
-cite="http://mysource.net/foo.pdf" attribute. Do not abuse to indent a
-paragraph!
+is used when an entire paragraph is quoted. Must contain a cite="http://
+mysource.net/foo.pdf" attribute. Do not abuse to indent a paragraph!
 
-<cite>,<q>
-For inline citations, the <cite>W3C</cite> recommends to <q
-cite="http://www.w3.org/TR/xhtml1/dtds.html">use the cite and q
-elements</q>.
+<cite>, <q>
+For inline citations, the <cite>W3C</cite> recommends to <q cite="http://
+www.w3.org/TR/xhtml1/dtds.html">use the cite and q elements</q>.
 
 
-4.4 Keyboard/Controller  interaction
-------------------------------------
+4.4 Keyboard/Controller interaction
+-----------------------------------
 
 <kbd>
 Any keys or key combinations, mouse buttons or controllers, menu items or
 textual user input should be marked with this element. It is used here in
-the widest possible sense, qualified by classes.
-E.g.:
+the widest possible sense, qualified by classes. E.g.:
+
 "Press <kbd>f</kbd> to fit all tracks to the height of the Editor window."
-"Move <kbd>Fader 1</kbd> on your MIDI controller to bind it.
-"
+"Move <kbd>Fader 1</kbd> on your MIDI controller to bind it."
+
 Since modifier keys are not cross-platform and Ardour makes a point of 
 abstracting them, do not hard-code "Alt", "Cmd" and friends, use 
+
        class="modN" 
+
 instead.
+
 So if you want the user to press Ctrl-N on Linux, that's actually <kbd
 class="mod1">N</kbd>. It will render as "Ctrl N" for you, and as "Cmd N" for
-your Mac-using friend. Nice, uh?
+your Mac-using friend. Nice, huh?
 
 N.B.: If you want to have just the name of the modifier key by itself, use
 <kbd class="mod1>&zwnj;</kbd> (zero-width non-joiner).
@@ -203,6 +215,7 @@ Keys and mouse key names should always be entered lowercase, even though the
 stylesheet might capitalize them.
 
 CSS Classes used with <kbd> are:
+
 .modN
 .mouse: mouse buttons
 .cmd: a command line
@@ -227,12 +240,10 @@ types or presses.
 
 <img>
 The image tag must contain a 'src="/images/yourimage.png"' element and a
-descriptive 'alt="A short textual description of the image content"'
-element.
-Images are usually placed as block-level elements, i.e. outside of a
-paragraph, unless they are no higher than one row and make sense in the text
-flow. Aside from this exception, they should *always* be wrapped inside of a
-<p></p> block.
+descriptive 'alt="A short textual description of the image content"' element.
+Images are usually placed as block-level elements, i.e. outside of a paragraph,
+unless they are no higher than one row and make sense in the text flow.
+
 
 5. Other conventions
 ====================
@@ -245,8 +256,8 @@ flow. Aside from this exception, they should *always* be wrapped inside of a
   kind of subtle inflection, use semantic markup instead.
 * The hyphen is used to for compound words such as this well-advised example.
 * Do not hyphenate words at line breaks.
-* For breaks in thought&mdash;such as this splendid example&mdash;use
-  the long em-dash. Note that the em-dash is snugged up against the text on both
+* For breaks in thought&mdash;such as this splendid example&mdash;use the long
+  em-dash. Note that the em-dash is snugged up against the text on both
   sides--this is the proper way to use them.
 * For ranges of values, use the en-dash: Monday&ndash;Friday, 0&ndash;11. Note
   again, the en-dash is snugged up to its surrounding elements.
@@ -262,7 +273,7 @@ flow. Aside from this exception, they should *always* be wrapped inside of a
 * Use SI units with standard abbreviations. Give imperial units only as
   additional information, if at all.
 * Do not use contractions like "it'll", always write full forms.
-* Do not over-use "You", write about the program, not the user. Avoid it if at 
+* Do not over-use "You"; write about the program, not the user. Avoid it if at 
   all possible, it makes for tighter and better reading text.
 * Always write out numbers less than 11. E.g., "One or two ..." instead of
   "1 or 2 ...".
@@ -272,8 +283,7 @@ flow. Aside from this exception, they should *always* be wrapped inside of a
 ------------------------------------
 
 Capitalization follows
-https://developer.gnome.org/hig-book/3.6/design-text-labels.html.en#layout-capitalization
-:
+https://developer.gnome.org/hig-book/3.6/design-text-labels.html.en#layout-capitalization:
 
 * Capitalize all words in the headline, with the following exceptions:
     Articles: a, an, the.
@@ -288,35 +298,37 @@ https://developer.gnome.org/hig-book/3.6/design-text-labels.html.en#layout-capit
 5.4 Janitorial tasks/review
 ---------------------------
 
-If you encounter something that is unclear or patent nonsense, but you are
-not bold or knowledgeable to fix it, express your doubts with an <p
+If you encounter something that is unclear or patent nonsense, but you are not
+bold or knowledgeable to fix it, express your doubts with an <p
 class="fixme">editorial note</p>, so that readers will be warned and fellow
 editors know where there's work to do.
 
+
 5.5 Writing style suggestions
 -----------------------------
 
 * "Click OK" and similar explanations of the utterly obvious should be
-avoided. Keep the writing concise and to the point. Explain as much as
-possible, with as few words as possible.
+  avoided. Keep the writing concise and to the point. Explain as much as
+  possible, with as few words as possible.
 * Do not fear repetitions, this is not artistic prose. Repeat important 
-keywords, rather than burden the user with synonyms made up on the spot.
+  keywords, rather than burden the user with synonyms made up on the spot.
 * Do not create headings for different ways of doing the same thing (<h>Via
-the context menu</h>,...<h>Via hotkeys</h>). Headings separate new
-concepts. To not add gratuitous sub-headings if there is very little 
-content per heading and you do not expect the article to grow.
+  the context menu</h>,...<h>Via hotkeys</h>). Headings separate new
+  concepts. To not add gratuitous sub-headings if there is very little
+  content per heading and you do not expect the article to grow.
 * If pages grow long, consider splitting them into sub-chapters at their
-headings.
+  headings.
 * Nobody needs "the next paragraph is about the following" paragraphs.
 * When creating a <p class="note">NOTE</p>, *do not* put the word NOTE into
   the note, the styling tells the user that it is a note.
 
+
 5.6. Encoding
 -------------
 
 * Pages should be encoded in UTF-8, with Unix-style newlines if possible
-(although that's not critical). Avoid using verbatim special symbols, use
-HTML character entities instead, for example for cursor arrows: &rarr;
-&larr; &uarr; &darr;. Diacriticals on vowels and other special letters are
-probably ok by now, so don't bother with &eacute; and friends, just type é.
+  (although that's not critical). Avoid using verbatim special symbols, use
+  HTML character entities instead, for example for cursor arrows: &rarr;
+  &larr; &uarr; &darr;. Diacriticals on vowels and other special letters are
+  probably ok by now, so don't bother with &eacute; and friends, just type é.
 
index 639d8ef75c3108e853ae291a4d66e49dab3ce866..10c047597a534ca9980a76d8c787928052b961b8 100755 (executable)
--- a/build.py
+++ b/build.py
@@ -466,10 +466,8 @@ for header in fileStruct:
        page = page.replace('{% prevnext %}', prevnext)
        page = page.replace('{{ content }}', content + more)
 
-       # Create the directory for the index.html file to go into
-       # (we use makedirs, because we have to in order to accomadate the 'uri'
-       # keyword
-#      os.mkdir(siteDir + header['filename'], 0o775)
+       # Create the directory for the index.html file to go into (we use makedirs,
+       # because we have to in order to accomodate the 'uri' keyword)
        os.makedirs(siteDir + header['filename'], 0o775, exist_ok=True)
 
        # Finally, write the file!