Tree [449321] master gh-pages /
 History

HTTPS access


File Date Author Commit
 _images-src 2011-10-30 dhmunro dhmunro [575b4d] initial import
 _includes 2011-10-30 dhmunro dhmunro [575b4d] initial import
 _layouts 2011-10-30 dhmunro dhmunro [575b4d] initial import
 css 2011-10-30 dhmunro dhmunro [575b4d] initial import
 images 2011-10-30 dhmunro dhmunro [575b4d] initial import
 manual 2011-11-01 dhmunro dhmunro [55eeb7] improved doc comment recognition, many fewer fu...
 plugins 2012-04-04 David Munro David Munro [ffe2e2] Merge pull request #2 from paumard/master
 qref 2011-10-30 dhmunro dhmunro [575b4d] initial import
 stdlib 2011-11-01 dhmunro dhmunro [55eeb7] improved doc comment recognition, many fewer fu...
 .gitignore 2011-10-30 dhmunro dhmunro [575b4d] initial import
 README.md 2011-11-06 dhmunro dhmunro [c5cc35] work around GNU tar <1.19 bug, add -d option
 _NOTES 2011-10-30 dhmunro dhmunro [575b4d] initial import
 _config.yml 2011-10-30 dhmunro dhmunro [575b4d] initial import
 _manual.init 2011-10-30 dhmunro dhmunro [575b4d] initial import
 downloads.html 2011-10-30 dhmunro dhmunro [575b4d] initial import
 index.html 2012-09-26 dhmunro dhmunro [449321] fixed old article links in index.html
 ydoc.pl 2011-11-06 dhmunro dhmunro [c5cc35] work around GNU tar <1.19 bug, add -d option

Read Me

Yorick-doc

Yorick-doc generates the [http://dhmunro.github.com/yorick-doc]
website. Yorick plugins and packages with git repositories can use
yorick-doc to generate and maintain their own html documentation in a
format consistent with this main yorick website. Such branch websites
can be connected to the main yorick-doc website by issuing a pull
request at [http://github.com/dhmunro/yorick-doc] to add their URL to
the main pages.

Getting yorick-doc

Begin by cloning the yorick-doc github repo:

git clone git://github.com/dhmunro/yorick-doc.git

(or you can fork your own yorick-doc repo at github.com). This repo
contains the yorick-doc perl scripts for generating yorick
documentation.

The yorick-doc.git repo also contains the main yorick web pages, if
you want to make a local copy of the main website. According to the
github web pages convention, the gh-pages
repo branch contains the main website. For yorick-doc itself, the
master and gh-pages branches are identical.

If all you want is a copy of the main yorick website, get it from
[http://github.com/ghmunro/yorick-doc/tarball/gh-pages]. (Or
substitute zipball for tarball if you prefer zip format.)

Dependencies

  • git
  • perl
  • texi2html (tested with v1.82) to build the yorick manual,
    required for building the yorick user manual only

Running yorick-doc

With the current working directory the top-level of yorick-doc/
created by git clone (master branch), the command line is:

perl ydoc.pl [-u] [-n pkgname] [-i ghpath] [srcpath [title]]

The srcpath is the path to the yorick plugin or package for which
you want to create a website. The automatically generated site will
comprise all of the DOCUMENT comments in the .i files therein.

The -u option tells ydoc.pl to update (or create) a gh-pages
branch for the yorick package or plugin source at srcpath, which
must be the working directory of a git repo for that option to make
sense.

By default, the plugin or package name will be the final component of
srcpath. You can override this by supplying -n pkgname, which
would be necessary if, for example, the final component of you
srcpath contained a version number (unusual if it is a git repo). This
option is unnecessary if a gh-pages branch already exists, unless you
want to change the existing pkgname.

The title parameter will appear as the title of your website,
prefixed by the word "Yorick" (in the banner). You need to supply
title only if srcpath has no gh-pages branch, or if you want to
change the title in gh-pages.

The result will be written to a gh-pages/ directory where you ran
ydoc.pl, that is, in the top level of yorick-doc. If srcpath is
a git repo with a gh-pages branch, this output directory is
initialized to the gh-pages branch. Therefore, you can modify files
which are not automatically generated and your modifications will be
preserved, if you commit them to the gh-pages branch in srcpath.
If your srcpath is not a git repo or has no gh-pages branch,
ydoc.pl creates a simple default containing all the required files.

Alternatively, you can use the -i option to specify a ghpath in
lieu of a gh-pages branch in srcpath. This permits you to save
and manage your modifications to the gh-pages/ directory, even if
srcpath is not a git repo, or if you simply do not wish to add a
gh-pages branch. Be sure you copy the gh-pages/ directory to some
permanent source-code-managed location (ghpath).

Additionally, ydoc.pl writes a file gh-pages.src containing the
srcpath argument used to generate gh-pages/. This permits you to
omit the srcpath argument in subsequent invocations of ydoc.pl.
The rule is: If you supply srcpath, any existing gh-pages/ and
gh-pages.src will be clobbered and replaced, while if you omit
srcpath, they must be present and will remain unchanged.

Without the srcpath argument, ydoc.pl will operate on the
gh-pages/ directory it created in a previous invocation. The
contents of gh-pages/ are not the final web pages. Github runs the
static site generator jekyll to build the
actual html pages. Yorick-doc includes a simple perl script
implementing the tiny subset of jekyll it needs, which allows you to
generate the html files whether or not you have jekyll on your
platform. Without any arguments,

perl ydoc.pl

will generate the actual html pages from gh-pages/, placing them in
the sibling _site/ directory. This allows you to preview your
website locally with your browser. You may wish to do that before
you update your gh-pages branch.

Running

perl ydoc.pl -u

updates the gh-pages branch (in srcpath, as saved in
gh-pages.src) from the contents of the gh-pages/ directory,
without regenerating it. If no gh-pages branch exists (but
srcpath is a git repo), ydoc.pl creates one, and intializes it
with the contents of the gh-pages/ directory.

Customizing yorick-doc

The ydoc.pl script produces one html file per .i file in your source
tree containing any yorick DOCUMENT comments (a "documented .i file").
If you have more than one .i file, it also produces an html index file
with links to all the individual files, and an alphabetized index of
all the documented symbols. If you have only one documented .i file,
the index will be combined with it. At the top of each page is an
alphabetized list of links to the symbols documented on that page.

You can split a large .i file into several pages by inserting comment
lines in the .i file of the form:

/*= SECTION(name) brief description ==========================/

The brief description will show up in the section index, next to the
page name. You can leave out name, SECTION() and put the divider
comment line near the top of the file to get a brief description into
the index file, even when you do not want to split the page. The page
name for file.i will be file; if the file is divided into multiple
sections, the page name for section sect will be file-sect.

You can also edit the files in gh-pages/ which are not automatically
generated, in order to add more information about your plugin or
package, or to (slightly) modify the style, for example, by creating a
custom left sidebar. Read the jekyll docs for
more information.

In particular, you are strongly encouraged to edit the file
gh-pages/_includes/package.html, which by default contains only the
briefest description of what your package does -- in fact, just its
title. Don't forget that this is a part of an xhtml file, so put
<p> and </p> markup around your paragraph(s). You can add a link
to a separate html jekyll template file if you want to add more
extensive descriptions.

Credits

The yorick-doc pages use a very clean left sidebar page layout
designed by Matthew James Taylor.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks