OraOpenSource / plsql-md-doc

Converts PL/SQL JavaDoc documentation to markdown
MIT License
51 stars 16 forks source link

Search and structured menu #62

Closed RamonEsteveCuevas closed 7 years ago

RamonEsteveCuevas commented 7 years ago

We use the library alot for creating the documentation of our PL/SQL code. We started developing the search and structured menu for our project because we have 200+ objects which are inside the documentation. It was hard for us to search for specific methods/properties and objects so we developed a small search engine and wanted to share it. More information about the functionality please read the following.

Please tell me wat you think:)

Search: Added a search library to the framework. This is currently only enabled when the files are generated as HTML files and the config.json has the following variable as true: projectName.search. A search field will be printed on the right top corner and the user is able to search through the following properties:

Inside the NodeJS the framework (libs/search.js) creates a data.json file inside the script/search directory of all the output folders. The whole search directory as defined inside the project is also copied over, to get the Client side Javascript file (script/search/search.js). When the user wants to search something the search is all done on the ClientSide and no NodeJS will be involved inside this process anymore. The client search.js will recursively search inside the generated data.json and will print the result in the dropdown of the searchfield. The searchfield has been printed using the JQuery UI library (autocomplete field). When the user selects a record inside the dropdown, the corresponding html file will be opened with automatic scrolling to the div containing the same ID as the name of the found object, method, plsql-type, constant, variable or exception.

Menu: The menu is now structured as found inside the folder structure within the src directory. In this way the menu becomes a bit more structured, especially in a case where the project contains a lot of files. The icons in front of the menu are printed using the foundation icons font.