old.mdwn 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. Use this as basis: <https://wiki.gnome.org/MaintainersCorner/>
  2. # inside .ikiwiki
  3. [[!iki tips/inside_dot_ikiwiki]]
  4. # project page, doxy pages and readme generation
  5. Useful things, even for maintainers in general:
  6. - <http://svn.savannah.gnu.org/viewvc/trunk/util/gendocs.sh?root=texinfo&view=markup>
  7. - <http://www.gnu.org/prep/maintain/maintain.html>
  8. Example for page of GNU project:
  9. - <http://www.gnu.org/software/autoconf/>
  10. The idea is as follows.
  11. To make it easy to keep the order in FTP, there will be 4 main directories which
  12. will map to wiki pages and fill the following purposes:
  13. - `readme`: Collects extracted partial READMEs of all projects, mainly for
  14. inlining into each project's main page. Or maybe a different setup,
  15. see below.
  16. - `internal`: Collects compiled HTML full reference pages of all (minor?)
  17. releases of all program and library projects that have code
  18. reference.
  19. - `manual`: Collects compiled manuals in several formats (like on GNU's website,
  20. check their gendoc script) of all projects that have manuals. For
  21. libraries it's usually doxygen-made API reference and tutorial.
  22. - `manpages`: Collects all manpages of all projects that have them
  23. Since these are generated and not manually made, it may be a good idea to put
  24. them in a separate underlay, maybe not in the FTP server. Currently they have a
  25. separate underlay, `/home/ikiwiki/generated`.
  26. ## readme
  27. My first idea was to inline the package READMEs into the website. But there is a
  28. major weakness: Nothing in them generated automatically. Each package will have
  29. its own README in version control, even if they have many common parts. After
  30. realizing I can generate the common parts, I had a new idea: Have a readme page
  31. on the wiki, possibly using templates for the common parts. The package README
  32. will simply be generated from it.
  33. That, of course, is a problem too - people should always have a full README in
  34. the package. Would it be copied manually or automatically? How to avoid
  35. cluttering the git log with minor README type fix commits?
  36. Then I checked GNU's ones and I realized the thing is that they are separate
  37. files. The content is not copied around or generated. Each maintainer simply
  38. knows they need to update both the README and the project page.
  39. Therefore, by default, this must work: Manually written separate files. When
  40. each package has its own maintainer, it's reasonable effort. On the other hand,
  41. I'm working alone right now and many new packages will come, so saving work by
  42. automating things may be a good idea.
  43. Another option is to have SOME readme sections in git, and the rest generated
  44. when building.
  45. The *general direction* should probably be having an option to save work by:
  46. 1. Having template-generated parts in the project page
  47. 2. Having README-extracted parts in the project page
  48. 3. Having a template for a new project, including README
  49. 4. Having build-generated parts in README
  50. Let's examine autoconf and sif, and compare.
  51. ### autoconf readme
  52. - description
  53. - dependencies
  54. - common files and their roles (INSTALL, COPYING, etc.)
  55. - mailing lists
  56. - licensing
  57. - copyright notice
  58. ### autoconf page
  59. - description
  60. - downloads: http, ftp, CD, git clone, git browse
  61. - documentation
  62. - mailing lists
  63. - related software
  64. - reporting bugs
  65. - maintainers
  66. - humor
  67. ### sif readme
  68. - description
  69. - downloads
  70. - mailing list and IRC
  71. - directory structure
  72. - versioning scheme, news and changes files
  73. - license
  74. - installation
  75. - dependencies
  76. - reporting bugs
  77. - hacking
  78. - submitting patches
  79. ### some drafts from sif wikipage
  80. This is supposed to be *the* webpage of Sif. It's supposed to have:
  81. 1. An HTML rendering of (parts) of README
  82. 2. An HTML rendering of the API reference, along with the tutorial etc.
  83. 3. Development/other info and plans
  84. The parts from README will probably be right at the address of this page, but
  85. not necessarily by putting the README in underlay - it will be in underlay as a
  86. subpage, and will be [[ikiwiki/directive/inline]]d here.
  87. The 2 first kinds will be made with a script and written into the website:
  88. - The (parts of the) README will be in the FTP underlay, rendered to HTML by
  89. ikiwiki like the git-managed pages
  90. - The API reference HTML will be built from source and either put in some kind
  91. of underlay/overlay using ikiwiki features/plugins, or on a dedicated domain
  92. like `dev.partager.null`.
  93. Note that the API reference will need to be there at the same time for all
  94. releases, and there will need to be symlinks like "stable" and "latest". The
  95. main page for each reference will contain a list of the available versions
  96. present. It can either be done using ikiwiki manually by adding links to the
  97. source with a script and manually `git-push`ing the result, or the final HTML
  98. can be generated externally, separate from the wiki source and automated: e.g.
  99. detect versions by looking at folder contents instead of a manually managed
  100. list.
  101. I could use ikiwiki template pages for that, to help automate and generalize.