Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

@lifecycle, template options, react native @component #116

Open
wants to merge 30 commits into
base: master
Choose a base branch
from

Conversation

sonyboy232
Copy link

@sonyboy232 sonyboy232 commented Oct 30, 2020

Added several new template options and a 'lifecycle' plugin to make the generated documentation much more manageable

  • added isReactNative template setting
    • Doesn't use the entry.js file created in bundler.js
  • added linkTagToNewTab template setting
    • Automatically uses target="_new" on external URL's in the {@link} tag
  • added useNestedCategories template setting:
    • Creates a @category -> @subcategory -> type hierarchy to the left navigation
  • added usePropertyFolding template setting
    • Adds ability to fold object type properties in their tables
  • added useNavFolding template setting
    • Adds the ability to fold the left navigation
    • fold state persists across page loads
  • added subsectionsInSideNav template setting
    • An array of subsection types that should be added to the right navigation
    • augments,requires,classes,interfaces,mixins,namespaces
  • added includeTodoPage template setting
    • Boolean to determine if a "To Do" list page should be generated along with the documentation
    • generated list will include all @todo tags defined anywhere in the system and are categorized by the file in which they appear.
    • Link to the to "to do" list is included in the right navigation
  • added the lifecycle plugin which implements @lifecycle and @renders
    • adds a 'lifecycle' tag above the method
    • separates the lifecycles into their own category on the right nav
    • @renders just adds a 'renders' tag above the method
  • added table plugin
    • @table tag
    • logically separate typedefs into a 'Tables' section
  • added inheritable plugin
    • @inheritDesc, @inheritSummary, @inheritParams
    • Allow for ability to inherit parts of parent documentation from within a child class
  • update app.js to make sure that URL hashes always jump to the correct spot on page load
  • update properties.tmpl and property.tmpl so that properties will nest to infinity
  • update proptypes.tmpl so that the property type will link to the appropriate place
  • add new features and options to README

- added 'isReactNative' template setting: Doesn't use the entry.js file created in bundler.js
- added 'linkTagToNewTab' template setting: Automatically uses target="_new" on external URL's in the {@link} tag
- added 'useNestedCategories' template setting: Creates a @category -> @subcategory -> type heirarchy to the left navigation
- added 'usePropertyFolding' template setting: Adds ability to fold object type properties in their tables
- added 'useNavFolding' template setting: Adds the ability to fold the left navigation
- added the 'lifecycle' plugin which implements: @lifecycle - adds a 'lifecycle' tag above the method, and separates the lifecycles into their own category on the right nav, and @renders $
- update app.js to make sure that URL hashes always jump to the correct spot
- update properties.tmpl and property.tmpl so that properties will nest to infinity
- update proptypes.tmpl so that the property type will link to the appropriate place
- add new features and options to README
- An array of subsection types that should be added to the right navigation
- `augments`,`requires`,`classes`,`interfaces`,`mixins`,`namespaces`
Update inline link resolution to handle inline @link tags which are wrapped in <code>
rework the processors for the 'linkTagToNewTab' option to ensure it only operates on external URL's
had the indexOf search of the visited array backwards
removed console.log that was left in the source
Add folding to top level category
If a Category or Subcategory only has one 'type' (i.e. 'modules'), then types are excluded from folding
All a mix of members with a subcategory and members without within the same category
removed console.logs...again. When will I learn?
Hide events that are members of another symbol from main nav
Allow uncategorized 'type' to display header when there is only one type
Fixed the automatic scroll to a specific section, when the main-content-wrapper has not finished rendering on document.ready
added console.log to indicate when a broken link is detected
Re-enable the navigation folding
Added a 'table' plugin which is a logical separator that places members tagged with it into their own section in the generated docs. This cuts down on
clutter when there are many members for a given longname.

Updated the README to reflect the new plugin.
Added the 'inheritable' tags @inheritDesc, @inheritSummary, @inheritParams.
Updated the README to document how to use the new plugin
This commit adds the `@inheritProperties` tag to the `inheritable` plugin. This tag behaves exactly like the `@inheritParams` tag, but
is used to inherit `@property` tags instead of `@param` tags.
Moved the "View Source" button so that it is the last thing printed below a method. For a class it moved to just before the constructor.
Updated the inheritable tags so that they will work on constructor methods
When a link consists of < and > split it up to check each of the parts
For example Promise<string|int> will be checked that "Promise", "string" and "int" are all valid values and print the invalid parts to the console
Change lifecycle methods to use the method.tmpl instead of member.tmpl
The 'includeTodoPage' template option is a boolean to determine if a "To Do" list page should be generated along with the documentation.
This list will include all `@todo` tags defined anywhere in the system and are categorized by the file in which they appear. A link to the
"to do" list is included in the right navigation
Clean up, reorganize, and add a table of contents to the README.md so it is easier to follow.
When generating links, error messages are no longer displayed for the types 'error' and 'enum'
@zarcode
Copy link

zarcode commented Feb 3, 2021

What I noticed is that this fails if I don't pass any template options with this error:

FATAL: Unable to load template: Cannot read property 'linkTagToNewTab' of undefined

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants