|
|
|
**** UNDER CONSTRUCTION ****
|
|
|
|
|
|
|
|
The website/ directory contains the source code required to build the
|
|
|
|
web pages for exiv2.org as well as scripts to build exiv2 releases.
|
|
|
|
|
|
|
|
How to build the website
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
- Build and install exiv2, build the samples and doc. And while you're
|
|
|
|
at it, it never hurts to also run the tests.
|
|
|
|
- Build website/bin/rssdate from the source file website/bin/rssdate.cpp
|
|
|
|
- Define the environment variable EXIV2HOME to the path of your exiv2
|
|
|
|
directory, i.e., the parent directory of website/
|
|
|
|
- cd website
|
|
|
|
- Run 'make update' to import whatever is required from the rest of the
|
|
|
|
exiv2 sources (doc/, samples/, src/)
|
|
|
|
- Run 'make' to build the web pages in website/html/
|
|
|
|
|
|
|
|
Subsequently, 'make clean; make' will remove and rebuild the web
|
|
|
|
pages; 'make update' is only needed if something changed in the exiv2
|
|
|
|
source or doc.
|
|
|
|
|
|
|
|
To build the pages with correct version info, download links, dates and
|
|
|
|
checksums (this is a step usually done only during the release
|
|
|
|
process, but you can do it with the packages from exiv2.org to try):
|
|
|
|
|
|
|
|
- Copy the release tarball and windows package to website/html/
|
|
|
|
- Run 'bin/release_info.sh <version>', <version> must correspond to the
|
|
|
|
version of the packages in website/html/ (e.g., 0.23)
|
|
|
|
- Run 'make' to build the web pages again
|
|
|
|
|
|
|
|
Dependencies
|
|
|
|
------------
|
|
|
|
|
|
|
|
- python
|
|
|
|
- doxygen
|
|
|
|
- xsltproc
|
|
|
|
- ps2pdf
|
|
|
|
- man2html
|
|
|
|
|
|
|
|
Generated HTML pages
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
Master HTML files
|
|
|
|
To modify HTML content, change the master HTML files master/*.in.
|
|
|
|
Do _not_ change the html/*.html files. These are generated files.
|
|
|
|
|
|
|
|
Placeholders
|
|
|
|
The master HTML files contain placeholders for HTML code that is
|
|
|
|
common to multiple files. Placeholders are strings of the form
|
|
|
|
__placeholder__. The content for each placeholder is in a file
|
|
|
|
var/__placeholder__. A special placeholder is __last_modified__: It
|
|
|
|
doesn't need a corresponding file in the var/ directory to be
|
|
|
|
substituted. Instead, every occurrence of __last_modified__ is
|
|
|
|
automatically replaced with the current date.
|
|
|
|
|
|
|
|
Substitution of placeholders
|
|
|
|
A small Python script bin/gen.py performs the substitutions. Variables
|
|
|
|
are substituted in one pass, in alphabetical order. Thus variables in
|
|
|
|
the content of another placeholder only get substituted if their names
|
|
|
|
are greater than the name of the containing placeholder. The special
|
|
|
|
variable __last_modified__ is substituted after all regular
|
|
|
|
placeholders, so it can occur in the content of any other placeholder.
|
|
|
|
|
|
|
|
News
|
|
|
|
The file news.xml contains all news items. There are two stylesheets
|
|
|
|
(whatsnew-table.xsl, whatsnew-latest.xsl) which are used to create
|
|
|
|
placeholders __whatsnew-table__ and __whatsnew-latest__. To add or
|
|
|
|
change news items, only change the news.xml masterfile and run make.
|
|
|
|
|
|
|
|
Makefile
|
|
|
|
To re-generate the HTML pages from the master files and move them
|
|
|
|
to the html/ directory, run "make" in this directory
|