Changes

Jump to navigation Jump to search
677 bytes added ,  11:39, 20 December 2023
Checkouts work now; hint about dev ML.
* {{code|s-cdr-00.tex}}: CD-ROM cover style
* {{code|s-faq-00.tex}} to `-03`: FAQ styles
* {{code|s-pre-00.tex}} to `-96`: Several old presentation styles(replaced by the following) in `texmf-context/tex/context/modules/mkiv`:* {{code|s-present-*.tex}}: Several presentation styles (examples in `texmf-context/doc/context/presentations/examples`)
… many more …
=Module writing guidelines=
'''Please don’t publish font support modules any more!''' They’re usually unnecessary. Instead publish [[Typescript_examplesTypescripts_examples|typescripts]] in the wiki instead.
==Module requirements==
Sort these files into folders according to TDS (TeX directory structure) – just have a look at the distribution to understand what goes where.
 
* Module code and data files go into tex/context/third/modulename
* Documentation files go into doc/context/third/modulename
* You can also look at properly setup git repositories like that of [https://codeberg.org/fiee/context-simpleslides the simpleslides module].
=== Module release file ===
VERSION and README files are important for publication on [https://ctan.org CTAN]. README is also displayed on git platforms like GitHub or Codeberg and should contain basic documentation. All top level files are ignored by the LMTX module installer.
 
Instead of zip files, also tar.gz archives are possible, but the installer script can only handle zip – libzip is a necessary part of Lua(Meta)TeX, while other archive formats are not.
=== Module main file ===
All module files should start with a block containing ''meta information'' about that module.
There is a [[Module template]] available to help setting up that header correctly.
 
=== License ===
Do not forget to specify a ''license'' as the permitted modes of distribution
==XML Interface file==
 
Each module should have an associated XML specification file
(as in [http://source.contextgarden.net/tex/context/interface/cont-en.xml /tex/context/interface/cont-en.xml]).
When documenting your module, you can use
<texcode>
\usemodule[intsetups-loadbasics] %Allow xml parsing
\loadsetups[t-name-of-your-module.xml] % to load the file with definitions
\setup{nameofyourcommand}
<context source="yes">
\setuppapersize[A5]
\usemodule[intsetups-loadbasics]\loadsetups[i-framed]
\setup{setupframed}
</context>
==Self-documenting source code==
 
Source files are supposed to contain explanatory comments that document
implementation details and other peculiarities the reader should be
* Register an account, then you can login to the “member section”.
* If you lost your password, please ask Taco or Mojca (via the mailing list if you don’t know them).
* Please read the help page (it’s mostly the same as here).
* Create a '''new module''' entry with a distinct name (e.g. “simple”; this will become the internal ID) and fill in the metadata:
** SVN/GIT URL: repository checkout, structured like the ZIP, as outlined above
'''While a git repository URL ''should'' work and is the most elegant wayAs an module author, it doesn’t really work at makes sense to subscribe to the moment (2023[https://mailman.ntg.nl/mailman3/lists/dev-05), because it creates `context.tarntg.gz` archives that the installer can’t handlenl/ developers mailing list].'''

Navigation menu