More documentation automation

v0.27.3
Andreas Huggel 20 years ago
parent f67b91b783
commit bcc9b6657e

@ -13,7 +13,7 @@
#
# Default make target
all: doc tags
all: doc
# Include system configuration
top_srcdir = ..
@ -30,22 +30,24 @@ SHELL = /bin/sh
# **********************************************************************
# Targets
.PHONY: all doc tags mostlyclean clean distclean maintainer-clean
.PHONY: all doc doxygen tags mostlyclean clean distclean maintainer-clean
doc:
doc: doxygen tags
doxygen:
doxygen $(top_srcdir)/config/Doxyfile
tags:
cd tags && $(MAKE) all
cp -f tags/tags-*.html .
cd $(top_srcdir)/doc/tags && $(MAKE) all
cp -f $(top_srcdir)/doc/tags/*.html $(top_srcdir)/doc/html/
mostlyclean clean:
$(RM) *~ *.bak *#
mostlyclean clean distclean:
$(RM) *~ *.bak *#
$(RM) tags-*.html
cd tags && $(MAKE) $(MAKECMDGOALS)
distclean: clean
# This command is intended for maintainers to use; it deletes files
# that may need special tools to rebuild.
maintainer-clean: distclean
cd $(top_srcdir)/doc/tags && $(MAKE) $(MAKECMDGOALS)
rm -rf $(top_srcdir)/doc/html/*
cd tags && $(MAKE) distclean

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

@ -1,10 +1,3 @@
/* -------------------------------------------------------------------------- */
h2 {
font-size: 140%;
font-weight: bold;
text-align: center;
}
/* -------------------------------------------------------------------------- */
.BoxTable {
width: 90%;

@ -106,7 +106,7 @@ SortableTable.prototype.initHeader = function (oSortTypes) {
for (var i = 0; i < l; i++) {
c = cells[i];
img = this.document.createElement("IMG");
img.src = "include/blank.png"; // relative to the file that uses this
img.src = "../include/blank.png"; // relative to the file that uses this
c.appendChild(img);
if (oSortTypes[i] != null) {
c._sortType = oSortTypes[i];

@ -6,7 +6,10 @@
# History: 28-May-05, ahu: created
#
# Description:
# Simple Makefile to create the tag tables
# Simple Makefile to create html documentation from templates. Requires a
# number of special tools (java, xalan, awk, python) but really only needs
# to be used to update the documentation after changing Exiv2 tags in the
# source code.
#
# Restrictions:
# Only tested with GNU make.
@ -17,26 +20,37 @@ TABLES = Exif Canon CanonCs1 CanonCs2 CanonCf Fujifilm Nikon1 Nikon2 Nikon3 \
TAGLIST = ../../src/taglist
# **********************************************************************
# ======================================================================
# **********************************************************************
# Initialisations
SHELL = /bin/sh
.SUFFIXES:
# Default make target
all: tags
.PHONY: clean $(TABLES) Iptc
.PHONY: tags mostlyclean clean distclean maintainer-clean
tags: $(TABLES) Iptc
@./gen.py tags-*.html.in
@./gen.py *.html.in
$(TABLES):
@echo Generating $@ table...
@$(TAGLIST) $@ | awk -f tags.awk > $@.xml
@java org.apache.xalan.xslt.Process -IN $@.xml -XSL tags.xsl -OUT $@.tmp
@sed "s/report-1/$@/" $@.tmp > __$@__
@sed "s/report1/$@/" $@.tmp > __$@__
@touch $@
@rm -f $@.tmp
Iptc:
@echo Generating $@ table...
@$(TAGLIST) $@ | awk -f iptc.awk > $@.xml
@java org.apache.xalan.xslt.Process -IN $@.xml -XSL iptc.xsl -OUT $@.tmp
@sed "s/report-1/$@/" $@.tmp > __$@__
@sed "s/report1/$@/g" $@.tmp > __$@__
@touch $@
@rm -f $@.tmp
mostlyclean:
@ -45,7 +59,10 @@ mostlyclean:
clean: mostlyclean
rm -f $(TABLES:%=__%__) __Iptc__
rm -f tags-*.html
rm -f $(TABLES) Iptc
rm -f *.html
distclean: clean
rm -f *~
maintainer-clean: distclean

@ -4,14 +4,15 @@
<meta name="Description" content="Open source Exif and Iptc metadata library and tools with Exif MakerNote and read/write support">
<meta name="Keywords" content="exif, iptc, metadata, makernote, manipulation, manipulate, read and write, write, change, update, jpeg, jpg, ifd, image file directory, thumbnail, thumbnails, tag, tags, canon, fujifilm, sigma/foveon, nikon, open source, opensource, huggel, andreas, andreas huggel">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link type="text/css" rel="stylesheet" href="include/default.css">
<link type="text/css" rel="stylesheet" href="include/sortabletable.css">
<script type="text/javascript" src="include/sortabletable.js"></script>
<link type="text/css" rel="stylesheet" href="../include/default.css">
<link type="text/css" rel="stylesheet" href="../include/sortabletable.css">
<link type="text/css" rel="stylesheet" href="doxygen.css">
<script type="text/javascript" src="../include/sortabletable.js"></script>
<script type="text/javascript">
<!--
var preload = new Array('include/blank.png',
'include/ascending.png',
'include/descending.png');
var preload = new Array('../include/blank.png',
'../include/ascending.png',
'../include/descending.png');
var loader = new Array();
for(var i = 0; i < preload.length; i++) {
loader[i] = new Image();

@ -0,0 +1,2 @@
<!-- Main index from Doxygen 1.4.2 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>

@ -0,0 +1,3 @@
<h1>Exiv2 Tag Tables</h1>
<div class="qindex"><a class="qindex" href="tags-exif.html">Exif</a> | <a class="qindex" href="tags-canon.html">Canon</a> | <a class="qindex" href="tags-fujifilm.html">Fujifilm</a> | <a class="qindex" href="tags-nikon.html">Nikon</a> | <a class="qindex" href="tags-olympus.html">Olympus</a> | <a class="qindex" href="tags-sigma.html">Sigma/Foveon</a> | <a class="qindex" href="tags-sony.html">Sony</a> | <a class="qindex" href="tags-iptc.html">Iptc datasets</a></div>

@ -1 +0,0 @@
<h1>Exif and Iptc metadata manipulation library and tools</h1>

@ -1,54 +1,53 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
__doctype__
<html>
<head>
<title>Exiv2 - Exif and Iptc metadata manipulation library and tools</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="html/doxygen.css" rel="stylesheet" type="text/css">
</head>
__header2__
<body>
<div id="content">
__index1__
<h1>Getting started</h1>
<h2><a href="html/namespaces.html">Namespaces</a></h2>
<h2><a href="namespaces.html">Namespaces</a></h2>
<p>The <a href="html/index.html">Exiv2 library</a> is made up of all
elements defined in the <a href="html/namespaceExiv2.html">Exiv2
<p>The <a href="index.html">Exiv2 library</a> is made up of all
elements defined in the <a href="namespaceExiv2.html">Exiv2
namespace</a>. The Action and Util namespaces are only used by the
Exiv2 command line utility. Thus, to learn about the library, concentrate on
the members of the Exiv2 namespace.</p>
<h2><a href="html/classes.html">Classes</a></h2>
<h2><a href="classes.html">Classes</a></h2>
<p><a class="el" href="html/classExiv2_1_1ExifData.html">Exiv2::ExifData</a>
and <a class="el" href="html/classExiv2_1_1IptcData.html">Exiv2::IptcData</a>
<p><a class="el" href="classExiv2_1_1ExifData.html">Exiv2::ExifData</a>
and <a class="el" href="classExiv2_1_1IptcData.html">Exiv2::IptcData</a>
are the top-level classes of the Exiv2 library. They hold a container
of Exif and Iptc metadata, respectively, and define related methods to
access and manipulate the metadata. The containers hold objects derived from
<a class="el" href="html/classExiv2_1_1Metadatum.html">Exiv2::Metadatum</a>.
<a class="el" href="classExiv2_1_1Metadatum.html">Exiv2::Metadatum</a>.
Interface class Exiv2::Metadatum defines methods to access the
information of one Exif tag or Iptc dataset. It models the tag data as
a key and value pair.
The abstract base class
<a class="el" href="html/classExiv2_1_1Key.html">Exiv2::Key</a> defines the
<a class="el" href="classExiv2_1_1Key.html">Exiv2::Key</a> defines the
interface for a key. Concrete keys implement Exif and Iptc keys.
The abstract base class
<a class="el" href="html/classExiv2_1_1Value.html">Exiv2::Value</a> defines
<a class="el" href="classExiv2_1_1Value.html">Exiv2::Value</a> defines
the interface to access tag information, from which concrete values are
derived. The actual value used in a metadatum depends on the type of
the Exif tag or Iptc dataset. It is usually determined when the Exif metadata
is read from an image. It is also possible to manually create a Value and
together with a key add it to an ExifData or IptcData container.</p>
<h2><a href="html/examples.html">Examples</a></h2>
<h2><a href="examples.html">Examples</a></h2>
<p>There are several simple examples that demonstrate the basic use of Exiv2
functionality: <a href="html/exifprint_8cpp-example.html">Exifprint</a>
functionality: <a href="exifprint_8cpp-example.html">Exifprint</a>
shows how the Exif data of an image can be read and written to the screen.
<a href="html/iptcprint_8cpp-example.html">Iptcprint</a> is a similar
<a href="iptcprint_8cpp-example.html">Iptcprint</a> is a similar
example to print Iptc data.
<a href="html/addmoddel_8cpp-example.html">Addmoddel</a> shows how to
<a href="addmoddel_8cpp-example.html">Addmoddel</a> shows how to
add, modify and delete Exif metadata.
<a href="html/exifcomment_8cpp-example.html">Exifcomment</a> shows how to
<a href="exifcomment_8cpp-example.html">Exifcomment</a> shows how to
set the exif comment of an image.
For more real-world code have a look at the implementation of the
different actions of the Exiv2 utility (actions.cpp).</p>
@ -59,11 +58,11 @@ different actions of the Exiv2 utility (actions.cpp).</p>
way as the standard Exif tags. In other words, for each entry of a
known Makernote, there is a corresponding Metadatum in the ExifData
container. The abstract base class
<a class="el" href="html/classExiv2_1_1MakerNote.html">Exiv2::MakerNote</a> defines
<a class="el" href="classExiv2_1_1MakerNote.html">Exiv2::MakerNote</a> defines
the Makernote interface. Subclass
<a class="el" href="html/classExiv2_1_1IfdMakerNote.html">Exiv2::IfdMakerNote</a>
<a class="el" href="classExiv2_1_1IfdMakerNote.html">Exiv2::IfdMakerNote</a>
models makernotes encoded in IFD format.
<a href="html/classExiv2_1_1MakerNote.html#_details">Implementing a new
<a href="classExiv2_1_1MakerNote.html#_details">Implementing a new
IFD makernote</a> is straightforward. Implementing a new makernote that is not
encoded in IFD format however, is more difficult. Please
<a href="mailto:ahuggel@gmx.net"> contact me</a> if you have such a
@ -71,7 +70,7 @@ makernote specification and would like assistance adding it to Exiv2.</p>
<h2><a class="anchor">IFD (Image File Directory)</a></h2>
<p><a class="el" href="html/classExiv2_1_1Ifd.html">Exiv2::Ifd</a> is a generic
<p><a class="el" href="classExiv2_1_1Ifd.html">Exiv2::Ifd</a> is a generic
low-level class that models an image file directory as defined by TIFF
and used in the Exif standard. Exiv2::Ifd could be used to implement
read only as well as read/write access to Exif (or TIFF) data without
@ -86,9 +85,12 @@ own header and source files.</p>
<center>
<h3><a class="anchor">Exiv2 Components Diagram</a></h3>
<p><img src="exiv2.gif" width="660" height="543" alt="Exiv2 components diagram"></p>
<p><img src="../include/exiv2-components.gif" width="660" height="543" alt="Exiv2 components diagram"></p>
</center>
<p>&nbsp;</p>
</div>
<!-- closes content -->
</body>
</html>

@ -9,9 +9,16 @@
<META NAME="keywords" CONTENT="gnu, Gnu, GNU, license, licence, software, free software, software license, software licence, GNU general public license, GNU General Public License">
<META NAME="robots" CONTENT="none">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="stylesheet" HREF="kde-default.css" TYPE="text/css">
<link type="text/css" rel="stylesheet" href="../include/default.css">
<link type="text/css" rel="stylesheet" href="doxygen.css">
</HEAD>
<BODY CLASS="license">
<div id="content">
__index1__
<H1>GNU General Public License</H1>
<P>Version 2, June 1991</P>
@ -375,7 +382,8 @@ consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.</p>
</div>
<!-- closes content -->
</BODY>
</HTML>

@ -23,7 +23,7 @@
<!-- *********************************************************************** -->
<xsl:template name="report-table">
<table class="ReportTable" id="report-1" cellspacing="0">
<table class="ReportTable" id="report1" cellspacing="0">
<xsl:call-template name="column-group" />
<thead>
<xsl:call-template name="header-row" />
@ -126,12 +126,12 @@
<xsl:template name="interactivity">
<script type="text/javascript">
//<![CDATA[
var t1 = new SortableTable(
document.getElementById("report-1"),
var report1 = new SortableTable(
document.getElementById("report1"),
["String", "Number", "String", "String", "String", "String", "String", "Number", "Number", "String"]
);
t1.onsort = function () {
var rows = t1.tBody.rows;
report1.onsort = function () {
var rows = report1.tBody.rows;
var l = rows.length;
for (var i = 0; i < l; i++) {
removeClassName(rows[i], i % 2 ? "OddRow" : "EvenRow");

@ -1,28 +1,13 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
__doctype__
<html>
<head>
<title>Exiv2 - Exif and Iptc metadata manipulation library and tools</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link type="text/css" rel="stylesheet" href="include/sortabletable.css">
<script type="text/javascript" src="include/sortabletable.js"></script>
<script type="text/javascript">
<!--
var preload = new Array('include/blank.png',
'include/ascending.png',
'include/descending.png');
var loader = new Array();
for(var i = 0; i < preload.length; i++) {
loader[i] = new Image();
loader[i].src = preload[i];
}
//-->
</script>
</head>
__header2__
<body>
<h1>Exif and Iptc metadata manipulation library and tools</h1>
<div id="content">
<h2>MakerNote Formats and Specifications</h2>
__index1__
<h1>MakerNote Formats and Specifications</h1>
<p>
The MakerNote is tag 0x927c in the Exif IFD. According to the
@ -200,5 +185,8 @@ t1.onsort = function () {
Various Makernote specifications</a> from the <a href="http://www.ozhiker.com/electronics/pjmt/index.html">
PHP JPEG Metadata Toolkit</a> by Evan Hunter</p>
</div>
<!-- closes content -->
</body>
</html>

@ -4,7 +4,8 @@ __header2__
<body>
<div id="content">
__maintitle__
__index1__
__index2__
<h2>Canon MakerNote Tags defined in Exiv2</h2>
<div>
<p>Tags found in the MakerNote of images taken with Canon cameras. These tags are defined by Exiv2 in accordance with <a href="makernote.html#R2">[2]</a>.</p>

@ -4,7 +4,8 @@ __header2__
<body>
<div id="content">
__maintitle__
__index1__
__index2__
<h2>Exif Tags supported by Exiv2</h2>
<div>
<p>These are the Exif tags as defined in the <a title="The Exif 2.2 standard (PDF)" href="http://tsc.jeita.or.jp/avs/data/cp3451.pdf">Exif 2.2 standard</a>.</p>

@ -4,7 +4,8 @@ __header2__
<body>
<div id="content">
__maintitle__
__index1__
__index2__
<h2>Fujifilm MakerNote Tags defined in Exiv2</h2>
<div>
<p>Tags found in the MakerNote of images taken with Fujifilm cameras. These tags are defined by Exiv2 in accordance with <a href="makernote.html#R1">[1]</a>.</p>

@ -4,7 +4,8 @@ __header2__
<body>
<div id="content">
__maintitle__
__index1__
__index2__
<h2>Iptc datasets defined in Exiv2</h2>
<p>Datasets are defined according to the specification of the Iptc

@ -4,7 +4,8 @@ __header2__
<body>
<div id="content">
__maintitle__
__index1__
__index2__
<p>There are three different Nikon MakerNote formats. Exiv2 will automatically detect the correct format for the Exif data from a particular Nikon camera model.</p>
<h2>Nikon (format 1) MakerNote Tags defined in Exiv2</h2>
<div>

@ -4,7 +4,8 @@ __header2__
<body>
<div id="content">
__maintitle__
__index1__
__index2__
<h2>Olympus MakerNote Tags defined in Exiv2</h2>
<div>
<p>Tags found in the MakerNote of images taken with Olympus cameras.</p>

@ -4,7 +4,8 @@ __header2__
<body>
<div id="content">
__maintitle__
__index1__
__index2__
<h2>Sigma/Foveon MakerNote Tags defined in Exiv2</h2>
<div>
<p>Tags found in the MakerNote of images taken with Sigma/Foveon cameras. These tags are defined by Exiv2 in accordance with <a href="makernote.html#R7">[7]</a>.</p>

@ -4,7 +4,8 @@ __header2__
<body>
<div id="content">
__maintitle__
__index1__
__index2__
<h2>Sony MakerNote Tags defined in Exiv2</h2>
<div>
<p>Tags found in the MakerNote of images taken with Sony cameras.</p>

@ -23,7 +23,7 @@
<!-- *********************************************************************** -->
<xsl:template name="report-table">
<table class="ReportTable" id="report-1" cellspacing="0">
<table class="ReportTable" id="report1" cellspacing="0">
<xsl:call-template name="column-group" />
<thead>
<xsl:call-template name="header-row" />
@ -90,12 +90,12 @@
<xsl:template name="interactivity">
<script type="text/javascript">
//<![CDATA[
var t1 = new SortableTable(
document.getElementById("report-1"),
var report1 = new SortableTable(
document.getElementById("report1"),
["String", "Number", "String", "String", "String", "String"]
);
t1.onsort = function () {
var rows = t1.tBody.rows;
report1.onsort = function () {
var rows = report1.tBody.rows;
var l = rows.length;
for (var i = 0; i < l; i++) {
removeClassName(rows[i], i % 2 ? "OddRow" : "EvenRow");

@ -43,23 +43,23 @@
@section getting-started Getting started
<A HREF="../getting-started.html">A few pointers</A> to get you started with
<A HREF="getting-started.html">A few pointers</A> to get you started with
the %Exiv2 library without delay.
@section metadata Supported Exif and MakerNote tags and Iptc datasets
- <A HREF="../tags-exif.html">Standard Exif tags</A>
- <A HREF="../tags-canon.html">Canon MakerNote tags</A>
- <A HREF="../tags-fujifilm.html">Fujifilm MakerNote tags</A>
- <A HREF="../tags-nikon.html">Nikon MakerNote tags</A>
- <A HREF="../tags-olympus.html">Olympus MakerNote tags</A>
- <A HREF="../tags-sigma.html">Sigma/Foveon MakerNote tags</A>
- <A HREF="../tags-sony.html">Sony MakerNote tags</A>
- <A HREF="../tags-iptc.html">Iptc datasets</A>
- <A HREF="tags-exif.html">Standard Exif tags</A>
- <A HREF="tags-canon.html">Canon MakerNote tags</A>
- <A HREF="tags-fujifilm.html">Fujifilm MakerNote tags</A>
- <A HREF="tags-nikon.html">Nikon MakerNote tags</A>
- <A HREF="tags-olympus.html">Olympus MakerNote tags</A>
- <A HREF="tags-sigma.html">Sigma/Foveon MakerNote tags</A>
- <A HREF="tags-sony.html">Sony MakerNote tags</A>
- <A HREF="tags-iptc.html">Iptc datasets</A>
@section makernote MakerNote Formats and Specifications
A summary of <A HREF="../makernote.html">MakerNote structures</A> with links to
A summary of <A HREF="makernote.html">MakerNote structures</A> with links to
publicly available specifications.
@section devel Development
@ -78,14 +78,14 @@
If you use a command line client, change to the directory where you want to keep
the source code and type:</p>
<div class="fragment"><pre><span class="stringliteral">$ svn checkout svn://dev.robotbattle.com/exiv2/trunk .</span></pre></div>
@verbatim $ svn checkout svn://dev.robotbattle.com/exiv2/trunk . @endverbatim
<p>To download the test data and test drivers for version 0.6.2 from
the repository, change to your local exiv2-0.6.2 directory and use the
following command:
</p>
<div class="fragment"><pre><span class="stringliteral">$ svn export svn://dev.robotbattle.com/exiv2/tags/0.6.2/test</span></pre></div>
@verbatim $ svn export svn://dev.robotbattle.com/exiv2/tags/0.6.2/test @endverbatim
<P>If you'd like to contribute code, please <A HREF="mailto:ahuggel@gmx.net">contact me</A>.
@ -94,7 +94,7 @@
<P>Copyright (C) 2004, 2005 Andreas Huggel <ahuggel@gmx.net></P>
<P>%Exiv2 is free software; you can redistribute it and/or modify it under the
terms of the <a href="../gpl-license.html">GNU General Public License</a> as
terms of the <a href="gpl-license.html">GNU General Public License</a> as
published by the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.</P>

Loading…
Cancel
Save