You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

readme-docs-module.adoc 4.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. = AspectJ docs
  2. == Contents and build
  3. This module contains the sources for the documentation delivered with
  4. the AspectJ distribution and for various internal, teaching, and online
  5. works:
  6. * `devguide`: AsciiDoc sources for the AspectJ Development Environment Guide
  7. * `progguide`: AsciiDoc sources for the AspectJ Programming Language Guide
  8. * `faq`: AsciiDoc sources for the AspectJ Frequently Asked Questions
  9. * `sandbox`: a collection of sample AspectJ programs, tools built on the
  10. AspectJ API's, script snippets, and instructional trails, all intended
  11. to serve as sources for documentation. See xref:sandbox/readme-sandbox.adoc[].
  12. * `teaching`: Teaching materials, esp. for the AspectJ tutorials.
  13. * `quickref/quick.doc`: The Microsoft Word source file for the .pdf Quick Reference
  14. guides `quickref/quick.pdf` and `quickref/quickA4.pdf`.
  15. * `build.xml`: Ant build script for the doc distribution
  16. * `developer`: Docs for AspectJ developers
  17. *Build*: `build.xml` assembles a local distribution which is gathered
  18. into the product distribution by the master build script,
  19. `../build/build.xml`. Dependencies outside this directory:
  20. * `.xml` files refer to their docbook dtds using relative path, for the
  21. moment `../../lib/docbook/...`
  22. * When building docbook, uses `../lib/saxon` libraries.
  23. * When building installer, using `../lib/build/build.jar` and the
  24. `../build/installer-resources`.
  25. * `quickref/quick.pdf` is generated manually from `quickref/quick.doc`.
  26. * `../org.aspectj.lib` provides library sources for
  27. `{AspectJ}/doc/aspectjlib`.
  28. When editing the build script and XML files, try to make only
  29. substantive changes rather than reformatting, which produces illusory
  30. changes. If you do reformat, do so programmatically (e.g., using
  31. XMLBuddy plugin reformat command, with long lines wrapped and 80
  32. character lines).
  33. == Docbook notes
  34. #*TODO:* Remove this section after AsciiDoc conversion is complete#
  35. Documentation is written in docbook XML form, which is transformed to
  36. HTML (single-page and multi-page forms) and, potentially, PDF.
  37. Unfortunately, this means you need to use the tags which are not only
  38. legal, but which work when transformed into all output formats, even if
  39. it means working around bugs in the transform scripts. Following are
  40. some notes on traps to avoid.
  41. === Authoring support
  42. XMLBuddy has a free eclipse plugin that displays errors using problem
  43. items and gutter annotations, but it gets confused by entity references.
  44. So for devguide.xml, create a new file foo.xml and do a manual merge,
  45. correct the files, and then scatter again (leo?).
  46. === PDF transformation
  47. The transformation from docbook XML to formatting-objects (.fo)
  48. to pdf is fairly weak. If you run the build.xml `test-pdf` task,
  49. you'll see a number of debug messages, which unfortunately give no
  50. clue as to the location of the problem. Problems noted in the output
  51. (where DE == docbook element)
  52. * tables broken.
  53. ** DE `table` unsupported
  54. ** DE `informaltable` autolayout is not supported
  55. * lineation/justification broken
  56. * need things like page header/footer titles, page number, copyright
  57. * Valid docbook elements not supported:
  58. ** superscript in title
  59. * ...
  60. Sample debug messages:
  61. - `area contents overflows area in line`
  62. - `table-layout=auto is not supported, using fixed!`
  63. - `The element 'fo:table-and-caption' is not yet implemented.`
  64. (So use docbook element (DE) `informaltable`, not DE `table`.)
  65. - `No spaces to justify text in line` many times
  66. == Older notes
  67. === Misc info for writing and building docbook
  68. * link tag linkend attribute takes an id
  69. ** xsl converts as needed during output
  70. ** do NOT use `ulink`; this will be converted to `""`
  71. (but see param `citerefentry-link`: might enable this)
  72. * to use sensible names for the files produced,
  73. ** use an xsl wrapper to add/modify features
  74. ** set flag to use the id of the top-level element in the output
  75. file as the filename. +
  76. `xsl:param name="use.id.as.filename" select="1"`
  77. ** fyi, other related parameters: `html-ext`, `root-filename`
  78. ** In this example, the top-level element in the output file
  79. is the `refentry`, so set ids which become the basename of the file: +
  80. +
  81. refentry id="aspectj-mode" # in aspectj-mode.xml, produces aspecj-mode.html
  82. refentry id="ajdee" # in ajdee.xml, produces ajdee.html
  83. ** related parameters: `html-ext`, `root-filename`
  84. ** these tags did not work for me: `dbhtml filename="foo.htm"`, `dbhtml prefix="foo-"`
  85. == Resources
  86. - the dtd reference for docbook
  87. http://www.oreilly.com/catalog/docbook/chapter/book/docbook.html
  88. - the stylesheet reference for docbook xsl
  89. http://docbook.sourceforge.net/projects/dsssl/doc/html.html
  90. == To Do
  91. - fyi, generate.reference.titlepage appears not to be respected.
  92. tried to add if statement to html/refentry.xsl, but file still gen'd