doc.test

Clone Tools
  • last updated 22 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- library/lib/nxdoc-core.tcl: Major refactoring accomplished: Managed to refactor the validation code into a separate module, obtain a better separation between the backend implementations, ... Relocate the validate() method implementations into the Validator mixin layer. Validation (the validate cascade) is now triggered from within the mixin layer ... further improves the separation of concerns in nxdoc ... Also, moved frontend code into two distinct Tcl packages: We now distinguish between the DC ("Documentation Comments") and the XODoc frontends. I also remastered the entire frontend handling and disentangled the various concerns: specifying documentation sources, 1st- and 2nd pass handling, etc. - Support for document multiple Tcl packages per NXDoc project. Multi-package support, plus validation mode for packages, adding missing files to the repo - tests/doc.test: General cleanup, deactivated some tests for the time being (till the DC interface settles) - library/lib/nxdoc-core.tcl: Removed dead comments and dead codex - YUIDoc template suite: Added Monikas recent adaptations/extensions. I still have to check the resource paths for the xowiki backend, which are most probably broken for now. - Adjusted TODO for accomplished tasks.

  1. … 21 more files in changeset.
- apps/utils/nxdoc: Created a first version of a command-line script around the nxdoc machinery, for Makefile integration. - Makefile.in: Added two experimental nxdoc make-targets: [make yuidoc] and [make xowiki]. In addition, provided for a doc-specific cleanup target: [make cleandoc]. Also changed the way TCLLIBPATH is initialised for makefile runs, to preserve the surrounding environment settings. - tests/doc.test: Deactivated obsolete sections; actual cleanup is pending. - Refactored nxdoc code fragments into sub-packages, namely the html and xowiki rendering components; renamed some file and directory. - Some necessary adjustments to make nxdoc work with the new property/variable nomenclature; spotted some misbehaviour of [namespace import] when running under 8.6b2 (to be investigated; see XOTcl-lanfRef.xotcl)

  1. … 82 more files in changeset.
- renamed "nsf::method::dispatch" to "nsf::directdispatch" - renamed "nsf::object::dispatch" to "nsf::dispatch"

  1. … 16 more files in changeset.
- nx.tcl * renamed "attribute" to "property" * renamed "defaultAttributeCallProtection" to "defaultPropertyCallProtection" * renamed "nx::Attribute" to ""nx::VariableSlot" * renamed "BootStrapAttributeSlot" to "BootStrapVariableSlot" * renamed "createBootstrapAttributeSlots" to "createBootstrapVariableSlots" * removed method attributes * implemented old attributes definition in xotcl2 as method "parameter"

  1. … 32 more files in changeset.
- regularized more nsf::* names: renamed "nsf::createobjectsystem" => "nsf::objectsystem::create" renamed "nsf::unknown" => "nsf::object::unknown" renamed "nsf::dispatch" => "nsf::object::dispatch"

  1. … 17 more files in changeset.
- Adjusted nxdoc for the latest changes in the nsf/nx core: - library/lib/doc-tools.tcl: Reflected the renaming of class-object to final; substituted the new positioning declaration for the old-style objectparameter shadowing on Entity (for @doc); some minor cleanup - tests/doc.test: A number of tests did not survive the continued renaming from object -> class-object -> class; fixed them.

  1. … 1 more file in changeset.
- nsf: renamed nsf::isobject to nsf::object::exists - nsf: renamed nsf::qualify to nsf::object::qualify

  1. … 17 more files in changeset.
* Hopefully the last big naming change: Instead of writing "C class-object method foo {} {...}" one can write now "C class method foo {} {...}" to define a class method named "foo" for class "C". This naming change became possible by defining XOTcl's "class" (and "superclass") as object parameter only. To change a class of an object o, one has to use "o configure -class NEWCLASS". The term "object-class" looks alien to language beginners, the term "class" is much more straightforward. Changing classes or superclasses is seldomly used by typicall application programs.

For already existing nx scripts, changing "object-class" into

class should be straightforward.

* various documentation updates (migration guide, nx tutorial)

  1. … 22 more files in changeset.
Activating xowiki export for nsf and xotcl2 docs

- changed names of var handling commands in nsf: ::nsf::existsvar => ::nsf::var::exists ::nsf::importvar => ::nsf::var::import ::nsf::setvar => ::nsf::var::set

  1. … 12 more files in changeset.
- changed named of method handling commands in nsf: ::nsf::provide_method => ::nsf::method::provide ::nsf::require_method => ::nsf::method::require

  1. … 6 more files in changeset.
- changed named of method handling commands in nsf: ::nsf::methodproperty => ::nsf::method::property ::nsf::method => ::nsf::method::create ::nsf::methoddelete => ::nsf::method::delete ::nsf::alias => ::nsf::method::alias ::nsf::forward => ::nsf::method::forward ::nsf::setter => ::nsf::method::setter (updated regression test, docs, ...)

  1. … 24 more files in changeset.
- Added a first version of an xowiki renderer - Reworked the renderer infrastructure to allow for refining templates between renderers (e.g., xowiki-like links in the yuidoc theme etc.) introduces - Templates can now also be defined, stored, and maintained through Tcl scripts (rather than separate template files only). - Clarified the concepts of theme/layout/renderer etc. Major cleanup. - yuidoc: Fixed an issue with setting filter css classes while no filter checkboxes are available.

  1. … 12 more files in changeset.
Removed noinit from the filter list

- Reactivated and extended the filtering support around the yuidoc theme. One can now filter according to various entity states (deprecated, missing, mismatch, protected, ...) - filter.html.yuidoc: Refactored the checkbox battery into a proper template. - Fixed some typos in templates - library/lib/doc-assets/yuidoc/ac-js: Refined the checkbox/visibility mechanism to honour defaultChecked states of checkboxes. - library/lib/doc-assets/yuidoc/api.css: checkbox/visibility selectors are now based on composite class selectors. - Removed @modifier and related selection statements throughout the code. Background: The call-protection state is inferred during verification, so there is no need to actually declare a method protected. Also, filtering in the templates breaks orthogonality when it comes to rendering doc entities at various spots (leftbar, ...). Method filtering can be applied during the initial processing step or visually in the final output. - Added print names for per-object methods

  1. … 12 more files in changeset.
- Simplified the render()/include() mechanism: I provide for some context-aware auto-completion of template specifics (name, format, theme). This avoids declaring template specifics redundantly. - For this purpose, renamed some of the templates to reflect their doc entity names: @object -> @object.html.asciidoc|yuidoc. - Theme-specific assets are now stored in a subdir of doc-assets/, named after the theme: doc-assets/yuidoc, doc-assets/asciidoc. - Adding the asciidoc assets subdir, including the asciidoc css - Renamed the theme "tmpl" to "yuidoc": This required to change the corresponding template extensions (*.tmpl -> *.yuidoc) and the include()/render() statements throughout the templates. - Removed the unneeded source.html.tmpl

  1. … 52 more files in changeset.
- "asciidoc" theme: Completed a first template suite which renders an nxdoc project in terms of the html4/xhtml11 asciidoc backend. Added new templates: singlefile.html.asciidoc, class.html.asciidoc, attributemethod.html.asciidoc, command.html.asciidoc, link.html.asciidoc, listing.html.asciidoc, method.html.asciidoc, object.html.asciidoc, package.html.asciidoc, submethod.html.asciidoc. - nxdoc now distinguishes between rendering format, layout (multifile, singlefile, chunked) and refactored. All layout/format/theme handling, for now, is provided by ::nx::doc::Renderer. - First step towards refactoring/automating template resolution; see the TemplateData class. In a further step, this will permit us to remove redundant declarations of template details in render() and include() statements. - List and link generation are now adaptable based on dedicated templates per theme, e.g., link.html.tmpl|asciidoc. Note that these file-based templates might be replaced by scripted ones at a later point. - Fixed pretty naming of @package - Various refactorings, e.g. renderer mixin layers are now objects, rather than classes.

  1. … 17 more files in changeset.
- library/lib/doc-tools.tcl: Some fixes, including adjusting @class.inherited() to return only doc entities of classes which are part of the same project as the inheritee. - library/lib/doc-tools.tcl: Integrated an xodoc-compat infrastructure and provided for processing xodoc packages (see processor.process=@package()). - tests/doc.test: Now also serves a nxdoc port of the XOTcl-langref package - library/xotcl/doc/langRef.xotcl: equipped with an empty namespace declaration (to please pkg_mkIndex.tcl) and import ::xotcl::@ by default (for convenience).

  1. … 2 more files in changeset.
- doc-tools: added "-where" to !get - doc-tools: title to internal links, provided css class, added nicer label - updated reference doc

  1. … 6 more files in changeset.
Added exclude filter for nx doc, fixed typo in @glossary entry

  1. … 1 more file in changeset.
- nsf.nxd: Completed a first draft version of the NSF reference (needs to be revised and improved in further iterations) - doc-tools.tcl: Fixed an issue with closing comment blocks (the last comment line closes with an eof), previously dropped silently by the processor.

  1. … 3 more files in changeset.
- library/lib/doc-tools.tcl: added [pinfo append] to collect multiple validation reports per entity - library/lib/doc-tools.tcl / owned_parts(): skip entities which are not structured themselves (namely parameters); otherwise they show up in the lefthand navigation or the autosearch box. also: glossary entries now disappeared from these navigation items (do we need them there?). - library/lib/doc-assets/command.html.tmpl: validation reports need to be fused using [join] - library/lib/doc-assets/command.html.tmpl: fixed subcommand support; adjusted and refined the per-command template, as well as @command validation. - Provided for parameter validation for @command and the extraction of the parametersyntax for commands - nsf.nxd: Added to the NSF documentation, namely completed a first round commands ::nsf::alias throughout ::nsf::log. Also: Refactored some glossary entries to nsf.nxd. - glossary: glossary entries can now be shared between projects; this required to make the back references aware of their project context. - @project: added a depends attribute which can be used to express inter-project dependencies. - An empty @doc string is now reported during validation - processor->process(): Added include/exclude filtering based on namespace patterns

  1. … 7 more files in changeset.
- Fixed some naming confusion around @class-object-method - Completed statusmark support down to the @param level - method parameter definitions are now pre-processed during tracing; see ::nx::doc::paraminfo - Continued the pinfo/pdata-based refactoring

  1. … 5 more files in changeset.
Accomplishments: - Completed a first version of the sandboxed (partial) evaluation of Tcl source artifacts (packages, script files, C extensions) based on a dedicated child/slave interp environment: see ::nx::doc::Sandbox; the test suite and the test documentation builts run on it. - Based on this infrastructure, we can now generate a snapshot of a program's structure to be documented (and contrast it to the explicitly documented structure). - Added simplistic css sprites for visualising the doc entity status (extra, missing, mismatch, complete); see also library/lib/doc-assets/status.svg and library/lib/doc-assets/status.png - The entity status is printed optionally along with the print name of an entity - Added switch-like parts to represent properties of doc entities: @deprecated, @stashed, @c-implemented, @syshook. The implementation and use of ::nx::doc::SwitchAttribute should be reviewed after having figured out how to proceed using "switching" objparams. - I provide a multi-property dispatcher as doc-syntactic sugar and for mere convenience: @property

Various:

- Corrected some div-boxing mess in the templates

- Added a filtered helper to process entity collections

- Made the mixin layer infrastructure more symmetric (a revoke operation).

- Added tracers for ::nsf::method and ::nsf::alias (remains to be completed)

- Renamed ::nx::doc to ::nx::processor and turned it into another

mixin layer to trace the doc entity creation in e.g. readin()

- Companion (*.nxd) files: Revised the handling of companion

files. Temporarily moved generic/nsf.nxd in the top-level

directory. We need to find a permanent place as its location is

currently derived from the location of the shared extension. A

candidate is doc/ but this is not linked to the shared extension

location at all.

- processor.readin() now returns a collection of entities created

during its execution.

- Improved robustedness and orthogonality: destroy hooks; the

tag-dispatcher can now handle empty comment lines; when placing NSF

object tracer, we now use the freshly added introspection of an

object system's method aliases.

  1. … 12 more files in changeset.
- renamed nx regression tests .test to follow tcl conventions

  1. … 35 more files in changeset.