doc-tools.tcl

Clone Tools
  • last updated 9 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- 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.
Merge branch '2.0.0-develop' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl into 2.0.0-develop

Conflicts:

library/lib/doc-tools.tcl

  1. … 2 more files in changeset.
- nx.tcl * renamed "info parameter name" to "info parameter names" (since it returns a list of names) * renamed "info parameter name" to "info parameter names" (since it returns a list of names) * renamed "info slots" to "info slot objects" * additional method "info slot definition" * additional method "info slot name" * additional method "info properties" (alias to "info slot definition") * removed "info parameter slot" * use term "noaccessor" and "noconfig" to deactivate accessors or object-parameters in property definitions * don't show slots with noconfig in "info parameter names" * don't show slots with noconfig in "info parameter definition" * renamed slot property "configparam" to "config" * renamed "::nsf::methods::class::info::slots" to "::nsf::methods::class::info::slotobjects" * additional public method ObjectParameterSlot.getPropertyDefinition * updated and extended regression test

  1. … 14 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.
- library/lib/doc-tools.tcl: Ported over the nxdoc core to reflect recent changes (i.e., modified attribute() signature and honouring that ::nsf::method::setter|forward are expected to return the method handle)

- 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.
- Allow for defining type specifications for @param entities as an @spec part. - Corrected some inconsistencies in the doc templates for attribute methods - Added object parametersyntax in @class templates (though they appear quite lengthy, keep them at the end of the day?) - Distinguish between the "cls" and "obj" as affices

  1. … 10 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.
- Provided proper template for hook methods; started partial support for validating Tcl packages (remains to be completeted, i.e., missing and mismatch support) - Fixed rendering for glossary back-references in the light of nested render() calls. - Refactored the rendering of overview lists/status into proper template; show per-project stats - Made @stashed filtering working; some fixes

  1. … 9 more files in changeset.
- 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.
- @project.html.yuidoc: reflect changes in asset names - body-chunked.html.yuidoc: Added this template, used to generate the chunked, yuidoc-based xowiki output - leftbar.html.yuidoc: Use link template - Renamed ac-js + api-js to ac.js + api.js - Added Monika's api-next.css - library/lib/doc-tools.tcl: for the xowiki renderer, I completed the asset export (requiring a tcllib installation!), some refactoring to allow for rendering xowiki-style links etc. - Revised TODO

  1. … 9 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.
- 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.
- @class.html.yuidoc: Printing class-scope validation messages. - @object.html.yuidoc: Printing object-scope validation messages. - @method.html.yuidoc: Flattening list structure of validation messages when printed. - Revised and fixed status propagation - Fixed an issue when verifying forwarders/aliases which do not carry any verifiable parameter specifications. Also, I had forgotten to collect paramtersyntax docstrings for forwarders. Addresses an issue reported by Gustaf Neumann trying to make appear the proper paramsyntax of the Object->class() forwarder. - statusmark resolution is now aware of @use chains

  1. … 4 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.
- nsf.c: changed handling of cmdPtrs in callstack content. * we use now explicit reference counting using NsfCommandPreserve/NsfCommandRelease * as a consequence, we do not need the following functions Nsf_DeleteCommandFromToken() and CallStackClearCmdReferences() any more. * the flag NSF_CSC_OBJECT_ACTIVATED is not needed anymore and was removed

- removed a small memory leak when a destroy method of an object o

deletes its grandparents namespace, containing also this class of o

(and its methods). Significantly eased by the change above.

  1. … 4 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.
- doc-tools.tcl: make -name parameter of method new always required and "any" - doc-tools.tcl: make object parameter of Entity of type "any"

- adding obvously missing argument

- adjust doc-tools (removed obsolete -public flag)

- 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.
listing(): Trim result string of pretty printer for trailing newlines to avoid their transformation to multiple line breaks.

  1. … 1 more file in changeset.
- library/lib/doc-tools.tcl: Added a link renderer for Tcl commands, pointing to the tcl.tk online reference; usage: <<tclcmd /cmd/>>. - library/nx/nx.nxd: Fixed glossary references pointing to mixin classes. - glossary.html.tmpl: Made the tmpl more robust against the non-existence of glossary entries. - method.html.tmpl: Made Type and Protection fully conditional - doc-tools.tcl: added a @project.is_validated attribute to reflect the validation status of a given project. this should later turn into a derived property. - langRef.xotcl: added a missing </tt> closing tag, to avoid tt pollution of the remaining document space.

  1. … 5 more files in changeset.
- documentation work

  1. … 6 more files in changeset.
- update of the migration guide

  1. … 4 more files in changeset.