Commit Graph

322 Commits

Author SHA1 Message Date
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
Fred Drake fdfd50f815 Convert <version> to &version;. 1999-01-29 16:29:25 +00:00
Fred Drake 7dab6affba Update the docstring.
Lots of changes to get the paragraph marking to work, and not go into
an infinite recursion.

Start to rationalize markup of method signatures; not complete.

find_all_elements():  similar to getElementsByTagName(), but operates
	on the not-quite-legal fragments we deal with here.
	Simplifies several individual transforms.

fixup_sectionauthors():  Convert \sectionauthor items to <author> just
	after the <section>'s <title>.
1999-01-28 23:59:58 +00:00
Fred Drake 3f3b09657f Added table entries for \methodline, \methodlineni. 1999-01-28 23:49:37 +00:00
Fred Drake 1453a8caf9 Constructor arguments for classes should be called <args>. 1999-01-28 23:10:48 +00:00
Fred Drake ffc4811a40 Simplify slightly. 1999-01-27 18:40:36 +00:00
Fred Drake a49a4eabbf Add "term" to AUTOCLOSE. 1999-01-22 22:48:24 +00:00
Fred Drake 43278f01dc convert(): Added parameter "autoclose", which should be a sequence of
general identifiers for which closing tags will be omitted
	when SGML is generated.  This can be used to tell the markup
	generator to drop stuff like </para>.  Note that it needs to
	be possible for the closing tag to *always* be omitted for it
	to be included in "autoclose".

main():  Added command-line option "-a" / "--autoclose" to set the
	list of general identifiers passed to the convert() function
	as the "autoclose" parameter.  The list may only be specified
	once (not additive) and GIs should be comma-separated.  The
	default list includes only "para".
1999-01-20 20:35:05 +00:00
Fred Drake 0a5b8de5e2 Modified the "sgml" and "xml" targets to stop if the sub-makes fail in
any subdirectory; don't continue with remaining subdirs.

Added "api", "ext", "lib", "mac", "ref", and "tut" targets to only do
submakes in those directories.  This is just a lot easier to use than
to cd into the subdir and use make.rules directly.
1999-01-20 17:26:56 +00:00
Fred Drake 4259f0db04 create_module_info(): If there's a \moduleauthor, move it to an
<author> inside the <moduleinfo> element.

Fix problems with paragraph identification.
1999-01-19 23:09:31 +00:00
Fred Drake 36dfe58694 isnmtoken(), istoken(): Fix to ensure the regex has to match the
entire attribute value.

Add ability to save list of "empty" elements to a file -- enabled by
constant in the code.
1999-01-19 23:03:04 +00:00
Fred Drake 2664db9f76 handle_labels(): Fix problem for document fragments containing more
than one "root" that prevented all the <label id=...> items
	from being promoted to id attributes on the enclosing chapter/
	section/... properly.
1999-01-19 21:46:48 +00:00
Fred Drake d6ced7d199 convert(): Change the element name remapping to convert <refmodule>
to <module link>.
1999-01-19 17:11:23 +00:00
Fred Drake f82e4ab617 format_attrs(): Attempt a bit more minimization for SGML output. 1999-01-19 17:10:31 +00:00
Fred Drake 589bc63e84 Add a "tarball" target. 1999-01-14 22:35:05 +00:00
Fred Drake 6038f54b74 Adjust so that we are no longer using special entities for well-known
names.  These are too much of a pain for occaissional authors.
1999-01-14 21:44:56 +00:00
Fred Drake 3effeedad3 Shorten the name of the <rfc> "number" attribute to "num". 1999-01-14 21:18:52 +00:00
Fred Drake d24167baf2 Make <rfc> no longer an empty element but a container. The text
currently generated by the LaTeX and LaTeX2HTML processes is generated
here as well, making it more flexible in the SGML version.

Reduce the <args> element so that <optional> goes away; just use
square brackets to indicate what's optional.  This makes it easier to
read than the LaTeX, and the processor can do any checking it needs to
in order to make sure it's legit.  Possible shortcoming: DSSSL
processors may need more explicit markup.  Can probably hack around it
for this case, but we'll see.
1999-01-14 21:18:03 +00:00
Fred Drake f8ebb5521d Several new functions to re-write tables to be at least partly
conformant with the OASIS Exchange model.  There's a little more
massage left to do, but not much.
1999-01-14 19:45:38 +00:00
Fred Drake a50a1df588 Added clean and clobber targets. 1999-01-14 18:26:23 +00:00
Fred Drake 54bad44f25 Update to the latest version of Michael Ernst's script. 1999-01-14 18:17:07 +00:00
Fred Drake 3a7a3d745d "Driver" makefile to convert all documents to SGML or XML at once. 1999-01-14 18:13:59 +00:00
Fred Drake 7727416686 Add usage of the "driver" Makefile. 1999-01-14 18:12:33 +00:00
Fred Drake 9d1c3b565f Elaborate a comment on the format of the table that drives the
conversion.
1999-01-14 18:10:09 +00:00
Fred Drake d7acf02290 Adjustments to allow elements with subelements as parameters. This is
used to deal with the table headings and entries.

An additional flag in the element table is used to indicate elements
which have no "general" content, but which do have subelement
content.  These must be flagged distinctly from empty elements.
Currently used for \lineii, \lineiii, and \lineiv.
1999-01-14 17:38:12 +00:00
Fred Drake 79ad1f19dc Escape special characters on output. 1999-01-14 17:06:09 +00:00