Commit Graph

647 Commits

Author SHA1 Message Date
Fred Drake 816aebdf94 Use the same shade of blue as the site navigation areas. 2002-10-14 15:45:11 +00:00
Fred Drake f834ecbba5 Minor refactoring to avoid code duplication. 2002-10-14 15:04:33 +00:00
Barry Warsaw cfb30e23d1 build(): Use self.builddir, not self.doc when copying the icons, so
they'll end up in the right directory when --dir is used.
2002-10-01 15:38:01 +00:00
Fred Drake c0e066a7b8 When the HTML output dir is specified using --dir=~/foo, the tilde
needs to be expanded by mkhowto, since the shell won't touch it except
at the start of the complete argument.
2002-10-01 15:30:56 +00:00
Fred Drake 73ec98357e Include the --dir argument in the help text. 2002-10-01 15:24:03 +00:00
Fred Drake 15a159c231 Change the default path to icons so that "mkhowto" does the "right thing" by
default when used for 3rd-party docs.  This requires the standard Python docs
to specify a location, but they are a bit of a special case in sharing one set
of icons among several documents.
2002-10-01 15:20:20 +00:00
Fred Drake 246beb2526 Don't use tempfile.mktemp(), since it produces annoying warnings, and
usually isn't what we want anyway.
2002-08-27 16:34:54 +00:00
Fred Drake a132f6c38b Accomodate the packaging changes when we unpack into the dev/doc/ area
on python.org.
2002-08-09 22:56:46 +00:00
Fred Drake 1a0199a74f Lots of changes to the packaging of the documentation, all to keep
directories clean where the packages are unpacked.  Each package now
contains a single directory, Python-Docs-<version>/, which contains the
files for that version of the documentation.

Closes SF feature request #567576.
2002-08-09 20:20:50 +00:00
Fred Drake eab5f8a43d Remove unused variable. 2002-07-09 03:24:32 +00:00
Fred Drake d805fefff4 Added support for some of the more recently defined macros and
environments.
2002-06-27 18:38:06 +00:00
Fred Drake bfc18bdf03 Integrated SF patch #539487 by Matthias Klose:
This patch adds Milan Zamazal's conversion script and
modifies the mkinfo script to build the info doc files
from the LaTeX sources.  Currently, the mac, doc and
inst TeX files are not handled.
Explicitly checks for GNU Emacs 21.
2002-05-03 04:50:51 +00:00
Tim Peters a3b0b298e6 Boost the list of stop words, by merging in the little list Jeremy
just checked into Zope's ZCTextIndex branch.  This reduces the size
of the .chm file by about 100KB.
2002-05-02 21:59:08 +00:00
Fred Drake fe3db7d6f0 Work around limitation of Cygwin Perl: To avoid a permission denial, we need
to do the inplace-edit with a backup file.  A quick test leads me to
believe this is sufficient to allow building the documentation on Cygwin;
a full test is in progress.
2002-05-02 20:42:30 +00:00
Fred Drake 56aa6280f6 list_documented_items(): Basic implementation.
This still does not work well since ctags does not do a good job with the
Python headers, appearantly due to the DL_IMPORT macro.  ;-(
2002-05-01 17:25:04 +00:00
Skip Montanaro d268183044 moved from Tools/scripts (was only at rev 1.1 - no changes yet - so I simply
removed it from there and added it here)
2002-04-30 16:25:37 +00:00
Tim Peters 4a0db06edf Hack around the "2.1.6 Blank lines" bug in a way that the TOC still
displays a recognizable section title (there are extra blanks at the
end of it now, due to the nested anchor, but that's fine).
2002-04-21 04:44:11 +00:00
Tim Peters dc374e034a Give the Help viewer a font-size button. This isn't documented by MS,
but is documented by others on the web, and the defn of the magic flag
needed appears in MS's htmlhelp.h header file.
2002-04-21 02:01:01 +00:00
Tim Peters c8490c70cd Move "everything left one": the TOC now shows each doc directory as a
distinct top-level node.  Before they were all nested under an artificial
top-level node, uselessly chewing up horizontal space, and ensuring that
the only thing the user saw in the TOC upon opening the file was a single
collapsed top-level folder.
2002-04-20 21:34:34 +00:00
Tim Peters 4545407746 Stopped all warnings from the HTML Help Compiler, by generating proper
HTML (or, at least, proper in its view).  The TOC file is now identical
to what the HTML compiler itself generates, except for whitespace and
a glitch identified below.  The pretty-printing done by prechm.py is
pretty much destroyed for now; if you need it pretty-printed, just make
the Help Compiler save the files (it's got its own idea of pretty-
printing anyway).

Glitch:  The title of Ref Man "2.1.6 Blank lines" shows up as a blank
for now.  This is because the relevant entry in ref/index.html contains
nested anchors, and pychm really has no idea what to do with that.  I
hacked it for now to avoid any error messages or worse insanity, and
filed a bug report against the docs.
2002-04-20 20:26:26 +00:00
Tim Peters e21095e3c5 Widespread: Used classes in a more natural way. Added convenience
methods to squash code duplication.  Simplified several overly complex
chunks of logic.  Built output strings more with string interpolation
instead of infix '+'.  Added comments.  Exploited recent Python features
(chiefly bool and augmented assignment).
2002-04-20 08:36:42 +00:00
Tim Peters d9a10509ac Replaced the fiddly 5-tuples with a new Book convenience class, allowing
to reference fields via names instead of meaningless little integers.
This turned up one case where the wrong little integer was being used,
in informative progress output.  Fixed that too.
2002-04-20 03:25:02 +00:00
Tim Peters 8d62ad7ffd Fixed a comment. 2002-04-20 02:56:20 +00:00
Tim Peters 661e49231a All over: get rid of blanks before colons that open code blocks. 2002-04-20 02:39:44 +00:00
Tim Peters 460643b8c5 do_project(): Modernized the code. 2002-04-20 02:37:07 +00:00
Tim Peters 5d5e1930dd Added "What's New" to the 2.2 doc set. 2002-04-20 02:07:58 +00:00
Tim Peters 4f109c1cf9 Added a stop-list to reduce the size of the full text search index. Fred,
populate the "stop_list" triple-quoted string with your favorite handful
of stop words.
2002-04-19 18:41:46 +00:00
Tim Peters e6b63e685b project_template: use dict interpolation instead of giant tuples. 2002-04-19 18:07:52 +00:00
Tim Peters a905363ce5 + Changed TOC to folder-tree style.
+ Increased size of the window the user sees the first time.
+ Arranged for the display to remember its last size and position.
+ Added a Favorites (bookmarks) tab.
+ Added the "Advanced Search" decorations.
2002-04-19 16:46:43 +00:00
Tim Peters 52cfa33e6e Generates inputs to the Microsoft Help Compiler, which creates compiled
HTML help files (.chm).  Obtained from Robin Dunn's packaging of the
2.2 docs at <http://alldunn.com/python/>, obtained in turn from
Hernán Martínez Foffani's original work at
<http://www.orgmf.com.ar/condor/pytstuff.html>.
2002-04-19 16:09:26 +00:00
Fred Drake bab5aa0039 Remove Emacs turd; not needed with modern Emacs versions.
Add a -r option; if given with a release number, the "What's New" document
is included with the relevant version number.

Update the text of the README distributed with the PostScript files to
reflect the changes in the user organizations in the Python community.
2002-04-17 03:29:40 +00:00
Fred Drake 34a05f7a1f Start of script to locate C symbols and segregate them into lists of
the documented and undocumented symbols.
2002-04-16 21:27:17 +00:00
Thomas Heller 0e661dcdbf Replace the simpleminded string.find with a re.search looking only for
full words. Before that, something like 'PyObject_Call' was missed
because 'PyObject_CallFunction' was found.

Passes PyChecker now.
2002-04-16 15:04:56 +00:00
Fred Drake 3c1ff5c766 When adding a name to the table of macros and environments, make sure it
is not already present.  If it is, raise an exception, since that should not
happen in a well-defined conversion.
2002-04-10 04:20:33 +00:00
Fred Drake 0047e16d1b Added support for \csimplemacro and csimplemacrodesc. 2002-04-10 04:19:12 +00:00
Fred Drake d15a0a05d3 Fix bug in command line handling, noted by Fredrik Lundh. 2002-04-05 18:09:22 +00:00
Fred Drake e03e1fe5cc Add support for the "Aesop Meta Tag". Not widely used, but not a bad idea,
either.
2002-04-05 17:34:50 +00:00
Fred Drake 9b3e2ca74d Add support for \textgreater, \textless.
Updated productionlist environment.
2002-04-04 21:39:42 +00:00
Fred Drake e13602ee49 Mark the notice about the new development version of the docs as not needing
to be archived.  Most of these are pretty bland.  ;-)
2002-04-04 18:06:06 +00:00
Fred Drake f54519d9e4 Update to push the docs to python.org instead of python.sf.net. 2002-04-01 20:15:05 +00:00
Fred Drake baf43c5036 When linking to an index page, explicitly name index.html instead of
using "./".  The later does not work nicely when browsing docs on a local
disk (as in the installed docs on Windows).
2002-02-04 21:15:42 +00:00
Fred Drake 3d422662ad Make this do the right thing with entries which start with the percent sign,
in response to Skip's comments in SF bug #487165.

Make use of string methods instead of string module functions in most places.
Add (and make the default) a way to collapse symbol entries into a single
"Symbols" section in the generated index.  This is similar to what makeindex
does, but does not include entries beginning with an underscore.
2001-12-26 19:55:14 +00:00
Fred Drake b9c0ef5db7 Update to reflect recently added markup. 2001-12-15 22:24:06 +00:00
Fred Drake 73f0a4ecd7 Script to generate the table of distribution packages, plugging in the size
information automatically.
2001-12-08 00:26:07 +00:00
Fred Drake b48b6d0737 Remove meaningless comment. 2001-12-04 16:32:04 +00:00
Fred Drake 381832ead5 Drop xmllib in favor of SAX. 2001-11-30 19:30:03 +00:00
Fred Drake 1e53fa7907 Add a couple of entries to the whitespace-cleanups table. 2001-11-30 19:25:39 +00:00
Fred Drake 95e33f03ba Added two new conversion specifications. 2001-11-30 19:06:18 +00:00
Fred Drake ea4d2c0241 A few small changes:
- Change PREFIX to PREFIXES, which contains a sequence of prefix strings.
  This is useful since we want to look for both Py and PY.
- Wrap a long line.
- Collect struct tags as well as typedef names.  Since we generally only
  use one of the other, that improves coverage.
- Make the script executable on Unix.

This could use a better approach to determine if a symbol is documented,
and could easily avoid keeping the massive string in memory.  That would
take time to actually write more code, though, so we'll bail on that
for now.
2001-11-29 04:30:46 +00:00
Fred Drake 27ae311864 Avoid trailing blank lines in the output. 2001-11-19 05:28:29 +00:00
Fred Drake 00c96aeba6 Adjust input pre-processing so that a comment on the last line does not
break the processor; this will do the right thing.
2001-11-19 05:27:40 +00:00
Thomas Heller 64cdb48c80 No need to preprocess the header files - use ctags -I flag instead to
remove DL_IMPORT.
2001-11-12 12:52:01 +00:00
Thomas Heller 3988574075 Remove my name, probably bad style. 2001-11-09 17:04:43 +00:00
Thomas Heller 3e77423a64 Script to print undocumented symbols found in Python header files. 2001-11-09 16:50:35 +00:00
Fred Drake 3ce28e4bd0 Add a new option, --dvips-safe, which sets the $DVIPS_SAFE option in
LaTeX2HTML.  This is not safe to do in general (for the reasons LaTeX2HTML
protects against dvips to begin with), but is safe if we do not actually
need to run dvips.  Note that we also assume it is safe if the user
specifically requests PostScript generation.  See the comments for further
explanation.
2001-10-30 16:09:51 +00:00
Fred Drake af876d77e0 One more LaTeX-ism that we'd rather ignore. 2001-10-25 15:14:57 +00:00
Fred Drake a281665972 No need to run make twice here. 2001-10-25 15:13:30 +00:00
Fred Drake f10584cb11 Do a little bit more to try and add <link> elements to the header, not that
Mozilla 0.9.5 can make intelligent use of them.  Specifically, this causes
the "Acknowledgements" and "Global Module Index" pages to acquire "up"
links in the Mozilla "Site Navigation Bar".
This partially responds to SF bug #469772.
2001-10-22 15:07:16 +00:00
Fred Drake 92350b3a1f New markup: \note{...} and \warning{...} 2001-10-09 18:01:23 +00:00
Fred Drake ac1af8093e Handle PEP references the same way RFC references. 2001-09-29 19:07:22 +00:00
Fred Drake 583061a10f Fix up whitespace in <args> elements; reduce sequences of consecutive
whitespace characters to a single space.
Small changes elsewhere, mostly to clean up the code a little.
2001-09-29 05:05:25 +00:00
Fred Drake 3c171d1b9f Convert to string methods.
For the real document element, make sure the prolog is migrated into
the document element so it isn't left stranded.

Make fixup_trailing_whitespace() whitespace do what was really intended.

Add the *desc environments used in the C API manual to the list of
things that can exist at the paragraph level so they don't get wrapped
in <para>...</para>.
2001-09-28 17:14:35 +00:00
Fred Drake 0f9bfd3dda Convert most uses of the string module to string methods.
(string.join() lives!)
2001-09-28 16:26:13 +00:00
Fred Drake 876389e5d8 Do not distinguish \refmodule from \module in the generated output;
whether or not a link will be generated will depend on the link database.
Add a couple of explanatory comments for one of the stranger constructs
(giving input an empty name).
2001-09-27 17:01:59 +00:00
Fred Drake 9213b7a961 Re-write <ulink> elements as described in the conversion spec. 2001-09-27 16:52:22 +00:00
Fred Drake baacc08ead Turn \input, \include, and \verbatiminput into XInclude elements instead
of something ad-hoc.
2001-09-27 15:49:23 +00:00
Fred Drake b6fa78930e Add support for some more markup that had slipped in.
Fixed a typo in a comment.
2001-09-27 04:18:39 +00:00
Fred Drake 29a67ced72 Update to support \mailheader and 5-column tables. 2001-09-25 20:58:13 +00:00
Fred Drake 9eda3aebb8 Simplify a helper by returning fewer values. 2001-09-25 20:57:36 +00:00
Fred Drake 1cb560a653 Do more to be compatible with Windows/CygWin. Make error messages more
informative when a child process dies with an error.

This is a variation of parts of SF patch #429611.
2001-08-10 20:17:09 +00:00
Fred Drake e54acfd8b2 Add option to push the development docs to SF without announcing, for
when the changes are just too small.
2001-08-08 05:41:01 +00:00
Fred Drake 1ca78b6b70 Change the command lines to use a similar "phrasing" to that used in the
other documentation makefiles.  This is probably not sufficient to run
the conversion on Windows, but goes at least part way.
2001-07-18 18:32:38 +00:00
Fred Drake 3cae66bdbc Script to re-write @FOO@-style marks with values, initializing the
replacement for @DATE@ from a TeX file containing a \date{...} mark
(such as texinputs/boilerplate.tex).

This will be used to re-write the html/index.html.in file instead of
a combination of grep, date, and sed -- this is more portable to non-Unix
platforms.

This solves part of the problem reported in SF patch #429611, but does
not use the suggested patch.
2001-07-17 16:46:14 +00:00
Fred Drake aebbca3b61 Job.__init__(): Only create the builddir directory if it will be used (by
building the HTML or text documentation).  There is no need to create
    it for other formats.

Job.build_html():  The builddir parameter is always passed in, so it need
    not be optional.
2001-07-17 14:46:09 +00:00
Fred Drake 44845ba67d Change the target name for \kbd. 2001-07-14 03:10:20 +00:00
Fred Drake 602cf584be Generate a more meaningful message regarding the type of the documentation
release being discussed.
2001-07-12 21:50:10 +00:00
Fred Drake 03e88da81b Add conversion information for the grammar production support (preliminary). 2001-07-09 15:00:42 +00:00
Fred Drake 44835d8e7a Move & update a comment.
Add support for the \ulink macro.
2001-07-07 06:00:36 +00:00
Fred Drake de6dc1e11c Change the way notification mails are sent so people who respond to the
update announcements do not get bounces from trying to send mail to my
laptop, which has an identity crisis due to constant relocation.
2001-07-06 23:45:16 +00:00
Fred Drake 0a650d77d5 Add entries for recently defined markup. 2001-07-06 21:13:51 +00:00
Fred Drake dde993c15d Simplification to mirror a better conversion specification and more
powerful latex2esis.py.
2001-07-06 21:03:30 +00:00
Fred Drake b5fc0ab099 Allow optional arguments to LaTeX macros to span lines. This is legal in
LaTeX and we have at least one occurance of that in the content, so this
script needs to support it as well.
2001-07-06 21:01:19 +00:00
Fred Drake f015d9a5f6 Give the pattern used to pick out a source anchor a more specific pattern. 2001-06-23 04:35:09 +00:00
Fred Drake bfd80dd8c0 Miscellaneous code cleanups.
Make sure we do not lose track of the build directory -- convert a user-
supplied directory to an absolute path.
2001-06-23 03:06:01 +00:00
Fred Drake 9ca78ac57f Adjust to understand use of either single- or double-quotes to quote
attribute values, and make the logic surrounding the platform
annotations just a little easier to read.  Also make the platform
notes appear in the generated page; they were supposed to, but did not.
2001-06-22 17:11:30 +00:00
Fred Drake 66a0a0a9b6 Make the option processing more robust.
Add a -F option similar to "cvs commit -F <file>".
Add a -t option to allow specifying the prefix to the directory into which
the docs should be unpacked (useful when I start trying out new styles for
the presentation).
2001-06-12 13:31:37 +00:00
Fred Drake 9a374186fc New solution to the "Someone stuck a colon in that filename!" problem:
Allow colons in the labels used for internal references, but do not
expose them when generating filename.
2001-05-29 19:53:46 +00:00
Fred Drake 964c074a62 Hack to make this play nicer with *old* versions of Python: os.path.abspath()
was not available in Python 1.5.1.  (Yes, a user actually tried to use this
with that version of Python!)
2001-05-29 16:10:07 +00:00
Fred Drake 404ac97207 If the input line does not contain enough fields, raise a meaningful
error.
2001-05-29 15:25:51 +00:00
Fred Drake 283b352d48 Update the directory names to match changes at SourceForge. 2001-05-09 16:33:34 +00:00
Fred Drake af922187ae Job.build_html(): Be more robust in ensuring about.html exists; copying
the right HTML file to the name about.html is needed even if the
    --numeric option was not given -- some other name may have been
    assigned due to some non-determinism in the algorithm use to perform
    name allocation.  ;-(

This closes the "About..." portion of SF bug #420216.
2001-05-09 04:03:16 +00:00
Fred Drake 34b48e844e Update publish-to-SourceForge scripts to automatically determine if the
branch is the head (development) branch or a maintenance brach, and use
the appropriate target directory for each.
2001-04-22 06:20:31 +00:00
Fred Drake e99b97e58a encode(): Handle Latin-1 input characters better. 2001-04-21 06:01:53 +00:00
Fred Drake bda05564de Add support for <memberline/> (needs markup improvement!).
Update <versionadded/> to recent addition of optional explanatory text;
make the explanation text take the same attribute name for both
<versionadded/> and <versionchanged/>.
2001-04-21 06:00:51 +00:00
Fred Drake e1f3ed6b58 Update the helper scripts that push development docs to SourceForge;
this version avoids having to build a separate authenticated connection
to push the update-docs.sh script to SF.
2001-04-13 05:13:55 +00:00
Fred Drake 20931fb3f4 Update the XML conversion specification. 2001-04-10 19:59:31 +00:00
Fred Drake c81d470648 Allow the <author/> element to appear before a paragraph without being
made a part of the paragraph.
2001-03-29 23:31:22 +00:00
Fred Drake 7190247e0b Remove the annoying __version__ definitions. 2001-03-23 17:09:02 +00:00
Fred Drake 3e8f921fb9 Lots of small changes to make this work with the Python DOM bindings
(minidom in particular); it was using PyDOM which is now obsolete.

Only write the output file on success -- this avoids updating the timestamp
on the file on failure, which confuses "make".
2001-03-23 17:01:47 +00:00
Fred Drake 2262a80fb3 Pick up the "encode" function from esistools instead of defining our own
(broken) version.

Remove Conversion.err_write() -- use dbgmsg() consistently.
2001-03-23 16:53:34 +00:00
Fred Drake f6c115ff2f Re-write to no longer depend on an old version of PyXML. This now
implements a SAX XMLReader interface instead of the old Builder interface
used with PyDOM (now obsolete).

This only depends on the standard library, not PyXML.
2001-03-23 16:42:08 +00:00
Fred Drake a4699a71b8 Pick the "escape" function from the standard library instead of from PyXML. 2001-03-23 16:38:12 +00:00
Fred Drake ce19496ec1 Add conversions for more of the markup -- not all of this was around when
this file was written!
2001-03-23 16:29:06 +00:00
Fred Drake 0c8f6643c6 Remove debugging "set -x". 2001-03-03 19:57:26 +00:00
Fred Drake 3f4e717c31 Revise the scripts I use to update the documentation on the SourceForge
site.  These now seem (slightly) more reliable, and easier to work with
since update-docs.sh no longer needs to be installed ahead of time on
my account at SF.
2001-03-02 21:05:58 +00:00
Fred Drake cfef0096f9 Job.build_html(): When formatting HTML into more than one HTML page, and
not doing the \label{foo} --> foo.html transformation (--numeric was
    specified on the command line), still look to see if there is an
    "About this document..." node and copy that to "about.html", since the
    page footers use that as the target.
2001-03-02 16:26:45 +00:00
Fred Drake 50d1fcf61c Add an option allowing the user to determine where the output HTML is built.
Provide a way to set the paper size by name instead of only supporting
separate options for each size.
2001-02-19 19:18:09 +00:00
Fred Drake e4f1c3276a Be more careful to avoid spurious output from the shell script that
unpacks the development version of the docs on SF.
2001-02-14 21:26:31 +00:00
Fred Drake 498cb15306 Jon Nelson <jnelson@users.sourceforge.net>:
Make the documentation tools work with Python 1.5.2.
[Slightly modified from submitted patch. --FLD]

This closes SF bug #132005.
2001-02-12 19:12:55 +00:00
Fred Drake b258bedb13 Jon Nelson <jnelson@users.sourceforge.net>:
Make the documentation tools compatibile with Python 2.0.
2001-02-12 15:30:22 +00:00
Fred Drake 4e3f2752c5 Improve diagnostic output when an external command returns a non-zero exit
code, showing the transcript for that command.

This closes SF bug #129740.
2001-02-04 15:20:26 +00:00
Fred Drake 24da47708d Do not pass names of individual files to shutil.rmtree(); use os.unlink()
for that.
2001-02-02 15:48:00 +00:00
Fred Drake 5599441bbf Make HTML the default output format, since that is what people actually
want most of the time.
2001-01-30 22:30:01 +00:00
Fred Drake bc3974c03b When generating the source package, copy in the LICENSE file from the main
source directory.
2001-01-22 21:34:20 +00:00
Fred Drake 42181dba8e Added a --global-module-index option to specify a (possibly relative) URL
to the Global Module Index for a set of documents.  This is used to include
a reference to the global index from the per-document module indexes, so
that it is just a little easier to find.

(Someone suggested this, but I do not remember who.  Please let me know if
it was you -- thanks!)
2001-01-09 22:02:10 +00:00
Fred Drake 827bb9fb3c Adjust to allow an explanation of the changes to be included in the
notification message.
2000-11-30 07:38:59 +00:00
Fred Drake 0a0ef8696b Use a subclass of buildindex.Node to clean up the HTML and get the
ordering fixed up (this makes sure that "xml.dom" comes before
"xml.dom.minidom" in the Module Index, which was not true before because
some HTML cruft crept into the data structures).
2000-11-28 16:20:50 +00:00
Fred Drake fed0d09075 Conversion.write_ordinal(): Not used, remove it. 2000-11-22 17:59:32 +00:00
Fred Drake 691a5a7c09 Convert the LaTeX "tie" (~) to a simple space.
Add support for some combining characters.

Remove unnecessary imports and dependencies on PyXML and esistools.
2000-11-22 17:56:43 +00:00
Fred Drake 382a75d0e9 Update to reflect the process changes.
Remove the SGML aspects; there's too much XML momentum to worry about
the SGML flavor at this point.
2000-11-22 16:58:25 +00:00
Fred Drake 97be740cd8 Update the rules to separate the two phases for the ESIS generation,
entirely so that debugging can be performed independently.
2000-11-22 16:54:20 +00:00
Fred Drake d397f236d5 Add support for (relatively) recent additions and changes to python.sty,
and one more standard LaTeX macro.
2000-11-22 16:45:19 +00:00
Fred Drake 2ed27d3189 Note that readframes() returns data in linear format, even if the original
is encoded in u-LAW format.  Based on suggestion from Anthony Baxter
<anthony_baxter@users.sourceforge.net>.

This closes bug #122273.
2000-11-17 19:05:12 +00:00
Fred Drake 9dce7b3737 Make sure we clean up the index data each time it is written by LaTeX. 2000-11-03 02:57:31 +00:00
Fred Drake d34cfcb4c7 Revise the message to be a little nicer.
Have the mail sent to the python-dev and Doc-SIG lists.
2000-10-29 13:21:45 +00:00
Fred Drake 7ceab739d0 Make this actually work now that the tool is checked in here instead of
just sitting around in my working directory.
2000-10-24 19:59:55 +00:00
Fred Drake 692565c9e9 Helper scripts used in published the "development" snapshots of the
Python documentation.
2000-10-19 05:54:51 +00:00
Fred Drake 77b76b6db6 Substantially revise to handle the fact that Python CVS is no longer in a
file-system accessible repository.  Add a little bit of smarts to convert
the cvsroot to an anonymous cvsroot the real one requires an authenticated
login to SourceForge; this avoids the SSH startup delay when doing the
checkout or export to get a fresh copy of the tree.
2000-10-10 19:35:40 +00:00
Fred Drake 77878413ba Hush the nanny. 2000-10-07 12:50:05 +00:00
Fred Drake 476491396e Use the cvsinfo module instead of a module stuff off in my personal
collection.
2000-10-06 16:37:47 +00:00
Fred Drake 72fbd8264c Support module to help work with checked-out CVS trees. 2000-10-06 16:36:48 +00:00
Fred Drake 85788edca4 Better add at least a short docstring to the module! 2000-10-05 05:20:55 +00:00
Fred Drake f23431da11 New script to convert the ACKS file to a nicely formatted HTML file.
Uses the new support module.
2000-10-05 05:15:29 +00:00
Fred Drake 01a110be57 Use the new support module instead of including all the getopt
processing and style information directly.
2000-10-05 05:14:26 +00:00
Fred Drake ca2b2e04e1 Factor out some of the presentation and shared code from mkmodindex and
a mkackshtml (not yet checked in).
2000-10-05 05:11:57 +00:00
Fred Drake 63eb6300a9 Remove styling information that conflicts with or duplicates the stylesheet;
different browsers resolve the conflicts differently, and the "proper"
resolution is not what we actually want.

Reported by Peter Funk <pf@artcom-gmbh.de>.
2000-10-04 13:39:24 +00:00
Fred Drake 1654b43ef7 Preliminary tool to troll through the CVS logs and LaTeX sources for
the names of people that should be in the ACKS file.

This relies on some personal code that is not yet available, but should
be by the time we release 2.0c1.
2000-10-03 22:10:25 +00:00
Fred Drake 3764b6b67e Fix the way we found relevant cfuncdesc lines; PREFIX was not a regular
expression!
2000-09-22 17:55:32 +00:00
Fred Drake df84facf0d .use_latex(): Make this a little smarter so that it only runs pdflatex
once if all the temporary files are available from building
               a DVI file.  This can avoid two runs of pdflatex.
2000-09-20 05:49:09 +00:00
Fred Drake f3d41272c6 Before running LaTeX2HTML, remove all the HTML files from the output
directory.  This avoids acretion of HTML from previous runs which may
have a new name; this would have avoided a lot of the packaging problems
related to changing labels from the old distutils documentation.
2000-09-14 22:25:47 +00:00
Fred Drake 0b25053ca0 Make this script handle PyVarObject* functions as well as PyObject*
functions.
2000-09-12 20:47:29 +00:00
Fred Drake ae3a15c396 Make the HTML more XHTML-friendly.
Small nits in the layout of the generated markup.
2000-09-07 20:07:41 +00:00
Fred Drake 239e1d5e50 Fix mkhowto so that the bookmarks for the PDF work for both "howto" and
"manual" class documents.
2000-09-05 21:45:11 +00:00
Fred Drake dfa539d770 Add --up-link and --up-title parameters to allow linking the top level
of the generated document to an external index.  These correspond to the
-up_url and -up_title parameters of LaTeX2HTML.
2000-08-31 06:58:34 +00:00
Fred Drake 0154fea5f4 Remove obsolete scripts. 2000-08-31 06:15:30 +00:00
Fred Drake 8bc627a402 Add --l2h-init option, which can augment the standard LaTeX2HTML
initialization with additional Perl files.  This can be given more
than once.
2000-08-31 06:14:38 +00:00
Fred Drake fcb8725de5 Add a --style option to allow specifying an alternate CSS style sheet for
HTML generation; the machinery was there but no option to set it was
defined.

Simplify some of the path-math since we can assume a recent version of
Python.
2000-08-29 18:15:05 +00:00
Fred Drake 1915754ec9 Small changes to reflect changes in LaTeX2HTML support for newer versions
of LaTeX2HTML.
2000-07-31 17:47:49 +00:00
Fred Drake 498c18f4d0 Only use one initialization file for LaTeX2HTML; more recent versions only
use the last one specified on the command line instead of all of them.
Smaller changes to reflect updated support.
2000-07-24 23:03:32 +00:00
Fred Drake d95f4e1a0d Martin von Loewis <loewis@informatik.hu-berlin.de>:
Correct typo that caused a well-formedness failure.
2000-07-01 06:26:44 +00:00
Fred Drake cc7371c437 Removed --l2h-config option; it introduced unnecessary complexity and
is not needed anywhere.
2000-06-29 23:01:40 +00:00
Guido van Rossum 51060be2f8 Remove unused "import curses". 2000-05-24 14:33:26 +00:00
Greg Ward 3abb104356 Added the Distutils manuals. 2000-04-28 17:05:41 +00:00
Fred Drake 5e872de6c7 If the refcount field is "null", that's ok; the value will be None. 2000-04-10 18:24:26 +00:00
Fred Drake 729eca1b9d For functions which return a PyObject* but use "null" for the
reference count field, state that the return value is always NULL.

(Useful for some PyErr_*() flavors.)
2000-04-10 18:23:47 +00:00
Fred Drake ba82878a3b Merged changes from the 1.5.2p2 release. 2000-04-03 04:19:14 +00:00
Fred Drake 9a257b4fd4 Added --numeric option, similar to mkhtml.sh. 2000-03-31 20:27:36 +00:00
Fred Drake dee86c644e Script to annotate api.tex with reference count information. 2000-03-15 14:57:59 +00:00
Fred Drake c29e41df44 Script to help locate markup that LaTeX2HTML has a problem with. 2000-02-21 17:20:16 +00:00
Fred Drake ecb84f8e75 Don't insert extra indentation before <title> elements. 2000-01-20 22:51:14 +00:00
Fred Drake 645af9fedd rewrite_descriptor(): Fixup conversion of arguments (simpler).
join_adjacent_elements():  Hack to merge adjacent instances of
        <option>; the source \programopt with GNU-style long options
        created problems with LaTeX2HTML; this removes the evil
        workaround, which should never be necessary from structured
        documents(!).
1999-11-23 21:52:03 +00:00
Fred Drake 8a3b4495df Don't rename \var to <varname>; DocBook is too verbose here.
Do adopt DocBook's <command>, <option>, <envar> names for \program,
\programopt, \envvar.

Add \filenq --> <filename quote="no"> (it has to go somewhere, at
least for now).
1999-11-23 21:48:41 +00:00
Fred Drake 91f31eab1c Added citetitle and programopt.
Made var get renamed to varname (more like DocBook).
Other names should probably be changed as well; still waiting for the
DocBook book to arrive.
1999-11-09 19:33:24 +00:00
Fred Drake 5bd608d46e Change the suggestions pointer at the bottom of generated HTML pages. 1999-10-29 20:51:43 +00:00
Fred Drake d6512808f0 Module/script to parse the reference count data file and make the
information accessible to Python.

When run as a script, just dumps the information back out in the data
format, with functions in sorted order and a blank line between
different functions.

Still need to apply the information somehow.
1999-10-20 21:50:31 +00:00
Fred Drake cf1b06ec47 Added --about option to specify the file to load "About this
document..." text from, defaulting to ../html/about.dat.
1999-09-23 16:55:09 +00:00
Fred Drake 52ea0ce977 Added --image-type option to allow use of either GIF or PNG images.
Job.warning():  New method; use this instead of writing to sys.stderr
                directly.  Ensures warnings are also sent to the log
                file.

Job.log():  New method; write a message to the log file.  Use from
            .message() and .warning().
1999-09-22 19:55:35 +00:00
Fred Drake 0ee4891c82 Update the instructions slightly.
Add a new section describing what each of the tools does, in general
terms.
1999-08-26 18:08:13 +00:00
Fred Drake 4f0279f439 Removed; no longer needed now that the other tools can handle entity
references directly.
1999-08-26 18:05:23 +00:00
Fred Drake abb158f56b feed(): Added support for ESIS '&' lines. 1999-08-26 18:04:32 +00:00
Fred Drake 1f33292542 Remove use of fixgenents.sh; no longer needed. 1999-08-26 17:57:18 +00:00
Fred Drake 3cf4eb4e3d Specify: \geq --> &geq;
\leq    --> &leq;
                \LaTeX  --> LaTeX       (just text)
                \TeX    --> TeX         (just text)
1999-08-26 17:56:47 +00:00
Fred Drake f6199edcd3 Conversion.subconvert(): Added support for "entityref" parameters
(must be named in the conversion spec.).

TableParser.start_entityref():  New method.  Use to support creating
        entity references via the conversion specification.
1999-08-26 17:54:16 +00:00
Fred Drake a20581c1e5 write_esis(): Added support for ENTITY_REFERENCE nodes. 1999-08-26 17:51:56 +00:00
Fred Drake 53eae8e81b convert(): Add support for ESIS '&' lines, and make sure we don't
silently ignore unrecognized lines.
1999-08-26 17:50:26 +00:00
Fred Drake abf8a1daa8 rewrite_descriptor(): Fix bug that dropped the first TEXT node from
<description> elements.  Add another sanity
                       check to make sure a special case only becomes
                       involved for <opcodedesc> and <opcodedescni>
                       elements.

fixup_paras_helper():  Clean up control flow.

Everywhere that checks node.nodeType==ELEMENT and node.tagName now
just check node.nodeName (nodeName is guaranteed for all node types
and will be special values that don't conflict with GIs for
non-ELEMENT nodes).  Simplifies a number of tests and improves
readability in a lot of places.
1999-08-20 14:28:29 +00:00
Fred Drake 46ab6dfa89 Re-write in Python for portability. About 30% slower, but who cares?! 1999-08-03 17:54:39 +00:00
Fred Drake 82ebc27357 remap_element_names(): Only used for things that the new conversion
engine in latex2esis.py can do, so discard it.

paragraph detection & markup:  Handle some of the list-like
		environments properly, picking up paragraphs inside
		list items.  (Only changed a few element-sets used for
		recognition.)

fixup_refmodindexes_chunk():  Use the right attribute to determine the
		module a <ref*modindex/> element is referring to.

convert():  Don't call remap_element_names(); it was removed.
1999-08-03 15:32:48 +00:00
Fred Drake 2f6ec9ca81 The new conversion engine supports more of the table re-writing than
the old one, so use it.
1999-08-03 15:27:37 +00:00
Fred Drake 9ff3a6a6e7 Remove obsolete version of script. 1999-08-02 20:19:42 +00:00
Fred Drake 9f2b42080a Re-implementation of mktarball.sh as a more portable Python script;
with a more descriptive name.

Allow creation of multiple archive formats with a single pass; useful
in this case since it uses a fresh export/checkout from CVS to ensure
that the tree is "clean" (no build turds, saved files, &c).  Use --all
to create all supported formats.
1999-08-02 20:19:17 +00:00
Fred Drake 080c1b5af6 bwrite(), ewrite(): Helpers for diagnostic output; essentially the
same as sys.stderr.write(), but bwrite() will make it
		bold if stderr is a tty (for visibility).

		Use these everywhere instead of accessing
		sys.stderr.write() directly.

find_all_child_elements():  Find all elements by type name that are
		immediate children of another.

cleanup_synopses():  Receive both the document and fragment objects as
		parameters; if only the document is passed, synopsis
		information is never found since it's in the fragment!

build_para():	Add a chunk of code to ensure that a newline always
		follows the </para> end-tag.  Not really important, but
		makes presentation consistent for authoring/
		maintenance.

fixup_bifuncindexes_chunk(): Use find_all_child_elements() instead of
		find_all_elements() so we don't work with too many
		levels at once; that could cause DOM exceptions with
		the <elem>.removeChild() method.
1999-08-02 14:46:15 +00:00
Fred Drake 4fbdf9779c Mostly minor changes.
Removed some obsolete commented-out code.

Merged BaseConversion into Conversion since there's only one
conversion process now.

Remove push/pop of output stream; it's no longer needed.
1999-08-02 14:35:25 +00:00
Fred Drake d158b85896 This doesn't need to do nearly as much for the new conversion, so
simplify.
1999-08-02 14:32:46 +00:00
Fred Drake 031e222499 A few small improvements to the conversion. 1999-08-02 14:32:11 +00:00
Fred Drake eac8abee4e Ripped out the old conversion. 1999-07-29 22:42:27 +00:00
Fred Drake 865e9ff98e Added a few more passes through the document fragment. Not actually
very interesting.
1999-07-29 22:23:19 +00:00
Fred Drake 96e4a06fa6 Massive changes.
Separate the Conversion class into a base and a subclass; the subclass
is pretty minimal but the separation is useful for....

NewConversion:  New class that implements a somewhat different
		approach to the conversion.  This uses a table of
		instances (rather than tuples) that have more
		information than the tuples used for the older
		conversion procedure.  This allows a lot more control
		over the conversion, and it seems to be pretty
		stable.

TableEntry,
Parameter:	New classes that are used to build the conversion
		specification used by NewConversion.

TableParser:	xmllib.XMLParser subclass that builds a conversion
		specification from an XML document.

load_table():	Convenience function that loads a table from a file.

main():  Added flags --new and --old; these select which conversion is
	 used.  The default is --new.

Several fixes have been made in the old conversion as well; these were
done before writing & switching to the new conversion, and should be
archived.

The next checkin of this file will discard the old conversion; is is
kept in this checkin to allow it to be retrieved if needed, and to
avoid lossing the bugfixes that have been made to it in the interim.
1999-07-29 22:22:13 +00:00
Fred Drake 2394c98c05 Minor updates. 1999-07-29 22:14:09 +00:00
Fred Drake ada2de67b3 Use the (new) buildFragment() method of the EsisBuilder rather than
implementing it all here.
1999-07-29 22:13:31 +00:00
Fred Drake f032cdbb24 Some minor cleanup. 1999-07-29 22:03:52 +00:00
Fred Drake bc2285eb60 Conversion specification, used by a new path through latex2esis.py.
The specific markup conversion is coded here instead of an even more
cryptic table in the code of latex2esis.py.
1999-07-29 22:03:11 +00:00
Fred Drake 478a265057 Minor update. 1999-07-29 22:01:39 +00:00
Fred Drake 5772f33b6c Add support for bzip2 using --bzip2. 1999-07-27 16:29:30 +00:00
Fred Drake 8ea15f3495 Add --zip parameter; make this able to produce .zip files as well as
.tgz files.
1999-07-23 16:09:11 +00:00
Fred Drake 06c5a8b52e Make the default target xml instead of sgml. 1999-07-22 13:57:12 +00:00
Fred Drake 7dbde51f97 Make the default target xml instead of sgml.
Use a temporary file to pass results from latex2esis.py to
docfixer.py; this makes for better error detection by make (if the
first pipeline stage fails, make wasn't catching it).
1999-07-22 13:56:51 +00:00
Fred Drake 924b42de9c When looking for things that might be modules, include *module.c from
the Modules/ directory.  Most of the remaining undocumented modules
seem to be living there.
1999-06-17 18:49:18 +00:00
Fred Drake 0eb7b2a659 Enhanced docstring and some comments.
_begin_macro_rx:  Fixed RE that didn't properly allow a space after
		  the name of the macro.  This affects the conversion
		  of the tutorial.
1999-05-19 17:37:37 +00:00
Fred Drake c4811d8208 Modify to perform "---" to "&mdash;" conversion outside of
verbatim-like environments.  The list of verbatim-like environments is
a defined by a variable in main().
1999-05-18 17:34:51 +00:00
Fred Drake c41e1e5f5e Remove the "---" to "&mdash;" conversion; this is wrong in verbatim
environments.  Move the conversion to esis2sgml.py.
1999-05-18 17:33:01 +00:00
Fred Drake e779d4f03b Lots of adjustments to deal with the document content now being stored
in a fragment rather than the main document object.
1999-05-10 19:36:52 +00:00
Fred Drake 54fb7fb9d0 Some more fixes.
Add controls for some of the esoteric indexing macros.
1999-05-10 19:36:03 +00:00
Fred Drake 2697694e4a ExtendedEsisBuilder.push(): Override inherited definition. We don't
want to push nodes into the document, but into a document
	fragment, since we're not necesarily working with something
	that's well-formed.
1999-05-07 21:14:28 +00:00
Fred Drake f79acbdaa1 Fix some bugs introduced in the previous checkin. 1999-05-07 21:12:21 +00:00
Fred Drake 96c00b0b5e Define & use a Conversion object. It's still really ugly, but at
least there's a token object in here now!  ;-)
1999-05-07 19:59:02 +00:00
Fred Drake a871c2e747 Make it work for "manual" documents as well as "howto" documents.
This still doesn't understand anything about multiple source files or
checking time dependencies.
1999-05-06 19:37:38 +00:00
Fred Drake 4437fdf265 Make sure latex2html doesn't produce a hard link between foo/foo.html
and foo/index.html.  Make a copy instead.  (Appearantly some tar
openers on non-Unixlike systems can't handle hard links.)
1999-05-03 14:29:07 +00:00
Fred Drake d2d1eef025 Make sure latex2html doesn't produce a hard link from $part/$part.html
and $part/index.html.  Make a copy instead.  (Appearantly some tar
openers on non-Unixlike systems can't handle hard links.)
1999-05-03 14:27:45 +00:00
Fred Drake c1db512b2b Nasty hack to add a --numeric parameter to skip the use of "logical"
names.
1999-04-29 18:28:48 +00:00
Fred Drake c4a623ebdc Add command line flags to just list the files that contain the
offending lines or to include line numbers in the output.
1999-04-22 20:32:21 +00:00
Fred Drake 693a2c6581 Script to locate uses of \module where the module referred to is not
the module being documented at that point in the documentation; these
are candidates for conversion to \refmodule, which produces a
hyperlink in the HTML and PDF versions of the output.
1999-04-22 13:08:09 +00:00
Fred Drake c260c0bcdb Further refinement, to allow this to handle the library reference as
well as the other "manual" documents.
1999-04-14 13:13:32 +00:00
Fred Drake 79d41ccdd3 Add some support for the module index, so this can be used to build
the .aux file for any of the "manual" class documents.
1999-04-14 05:02:06 +00:00
Fred Drake 2e1094e4ef Use #!/usr/bin/env python instead of #!/usr/local/bin/python. 1999-04-09 14:53:35 +00:00
Fred Drake e3fd1064de Make this simpler; don't care about the paper size. Require that the
files exist in the current directory.

Add "Documenting Python" to the list of documents listed.
1999-03-18 14:57:53 +00:00
Fred Drake 87a42cd61b Add support for <platform>, some cleanup of module section after
creating the <moduleinfo>.
1999-03-11 17:35:12 +00:00
Fred Drake 1acb8740eb Oops, missed a couple of substitutions in the templates. 1999-03-04 21:33:55 +00:00
Fred Drake 5f7832d125 Allow many more aspects of the generated page to be parameterized, and
add a useful usage message.  Use 'mkmodindex --help' to display it.
1999-03-04 21:19:57 +00:00
Fred Drake aaa0d9a3a4 Record the value of $TEXINPUTS in the transcript.
Job.message():  New method.  Takes care of writing a message to the
		user and adding it to the transcript.
1999-03-03 21:57:58 +00:00
Fred Drake b1d839866c Obsolete; use the Python version instead. 1999-03-03 20:28:17 +00:00
Fred Drake 8b88093b95 Re-written mkhowto in Python; this should be at least a little more
portable.

Several things that had been done by running a python script are now a
matter of importing the right module and running a function with a few
parameters.
1999-03-03 20:24:30 +00:00
Fred Drake 749f943a6b process(): New function that contains the "orchestration" of the
actual work.

main():  Just handle the command line and filename determination,
	 calling process() to do the work.

These changes make this more import-friendly.
1999-03-03 19:36:23 +00:00
Fred Drake 7c8754fafb process(): New function that contains the "orchestration" of the
actual work.

main():  Just handle the command line and filename determination,
	 calling process() to do the work.

These changes make this more import-friendly.
1999-03-03 19:25:56 +00:00
Fred Drake 7f492ad7b8 Be more flexible to support platform annotations. 1999-03-02 16:22:56 +00:00
Fred Drake 75ab7a6fa4 Clean up *.pla files -- platform annotation information. 1999-03-02 16:22:26 +00:00
Fred Drake 093c97a36f ignore_from_idx(): Fixed bug in regular expression. 1999-02-24 18:39:47 +00:00
Fred Drake 2ef38a7a42 Script to combine module index files. Given a list of files that look
like modindex.html, create a combined modindex.html file that lists
all the modules.  Takes the same parameters as buildindex.py.
1999-02-24 17:33:07 +00:00
Fred Drake 711fe02ac3 process_nodes(): New function.
main():  Moved the node processing between input and ouptut to
	 process_nodes().
1999-02-24 16:36:48 +00:00
Fred Drake b6cf9a4fc4 Script to help identify undocumented modules. Use -h or --help for
usage information.
1999-02-23 23:07:48 +00:00
Fred Drake 93d762fc7a Mark <verbatim> elements that represent interactive sessions; these
become <interpreter-session> elements.
1999-02-18 16:32:21 +00:00
Fred Drake 997eec7cca Minor adjustments to reflect esis2sgml.py changes.
Added "esis" target to only generate the ESIS data.
1999-02-18 16:31:05 +00:00
Fred Drake 607aed7a2c Some adjustments, mostly to make it more general. 1999-02-18 16:30:16 +00:00
Fred Drake 4cc902f464 Make the _rmtt regular expression deal with the new CSS-friendly
changes to the HTML documentation.
1999-02-18 16:11:12 +00:00
Fred Drake f6838c0f5e Copy in the stylesheet after latex2html is done. 1999-02-16 20:43:53 +00:00
Fred Drake fcf57ad959 Copy in the stylesheet after latex2html is done. 1999-02-16 20:28:25 +00:00
Fred Drake f43ce00531 Make sure errors get propogated. 1999-02-16 20:05:43 +00:00
Fred Drake efa641c45a Add an optional parameter to make the script run latex only once to
generate an .aux file.  This can make HTML generation a bit faster
when print formats aren't needed.

Explained parameters in a comment.
1999-02-15 19:27:07 +00:00
Fred Drake 3618c14f72 Use a common definition for $(SUBMAKE) instead of repeating everything
all over the place.
1999-02-15 16:50:28 +00:00
Fred Drake 5d59d3df7f Added --l2h-config option to add additional initialization files for
latex2html.  Can be useful in setting up things like the upward
external link for the top of the documents.
1999-02-15 16:27:42 +00:00
Fred Drake ec5c0b41ae Revert previous change; there's a better way to do it. 1999-02-10 17:08:00 +00:00
Fred Drake dfb4e24431 Respond to suggestion from "Albert" <hat@se-46.wpa.wtb.tue.nl> to add
document titles to the list of files.

Also added total page count and a note that comments should be
directed to python-docs@python.org.
1999-02-05 20:50:59 +00:00
Fred Drake bb79438d26 This seems to fix a problem with targeting from the indexes. 1999-02-02 18:57:12 +00:00
Fred Drake 7281b3b779 Updated comments on version of XML package needed. 1999-01-29 22:35:23 +00:00
Fred Drake 1dd152d036 Added support to handle \versionadded in a reasonable way. 1999-01-29 22:12:29 +00:00
Fred Drake 279ca75a5b Be a little smarter on some attribute values, making an assumption about
the DTD.
1999-01-29 21:35:50 +00:00
Fred Drake 3a7ff998ac fixup_descriptors(): Change the way we look for descriptor nodes;
this takes 5 minutes off the conversion of the whole tree by
	reducing the number of tree-traversals from 14 to 1.
1999-01-29 21:31:12 +00:00
Fred Drake 666e60095b Added the Doc/sgml/ directory to the tarball. 1999-01-29 21:22:55 +00:00
Fred Drake cb65781d93 Rewrite code that converts the little descriptor environments to build
the right <signature>s and <description>.  This seems to work a lot
better now!
1999-01-29 20:55:07 +00:00
Fred Drake 75930b31e2 Added table entries for \funcline and \funclineni. 1999-01-29 20:09:27 +00:00