Exporting selected tags *with* its hierarchy - org-mode

Is there a way to export some tags with all its sub tags?
Filtering the #errands tag in the agenda todo view lists all of #errands sub tag as expected (i.e.: bank and groceries). Why doesn't SELECT_TAGS do the same on exporting? I did searched and tried other options to no avail.
In the minimal working example bellow, only the content tagged #errands is exported (using LaTeX). I would expect all the sub-tags to be exported also. In this example, the content tagged :bank: does not get exported as expected.
#+OPTIONS: toc:nil
#+TAGS: [ #errands : bank groceries ]
#+SELECT_TAGS: #errands
* General errands :#errands:
** TODO Buy matches
* Bank stuff :bank:
** TODO Do pay stuff
* TODO Some other task :OtherTag:
'Any hints on how to achieve hierarchal exporting of tags?
Thanks for any pointers.

Related

Complete documentation for stencil components with jsdoc, specifically a component description?

I'm in the process of creating a web components library with stencil.js. I would like to leverage the docs-readme output capability, but am having to do a lot of trial and error on what comments will actually be output into the documents.
The specific issue I'm having right now is that I'm not able to get documentation for the component itself to generate with the readme. For example:
/**
* This is a description of the component that I would like to generate in the readme.md for MyComponent
*/
#Component({
tag: 'my-component',
styleUrl: 'my-component.css',
shadow: true,
})
/** I've also tried this comment style and this location, but no dice */
export class MyComponent {
...
}
According to the jsdoc documentation it seems like I should be able to document the class, but nothing seems to work. Is there an exhaustive list of what stencil will and won't actually generate documentation for?
You need to place the documentation of the web component (element class) itself to the (partially) generated readme.md. Only the documentation of the class members (properties/attributes, methods) and of the CSS variables is expected in the source files (.tsx, .css).
(Update: See the UPDATE section below about the purpose of the component comment.)
Insert the documentation to src/components/my-component/readme.md above the following line:
<!-- Auto Generated Below -->
The content below this line will be generated using the JSDoc comments in your source files.
Example
# x-eyes
Shows a pair of eyes following movements of ...
<!-- Auto Generated Below -->
See the full readme, TS source and CSS source of the example above.
UPDATE
Actually, if you add a documentation comment to the component as you intended:
/**
* Alternative summary...
*/
#Component({ tag: 'x-eyes', styleUrl: 'x-eyes.css' })
export class XEyesElement {
it will be used, but not in the readme file; but only in the docs property of the docs-json or docs-vscode output targets:
{
"filePath": "./src/components/x-eyes/x-eyes.tsx",
"encapsulation": "shadow",
"tag": "x-eyes",
"docs": "Alternative summary...",
"readme": "# <x-eyes>\n\nShows a pair of eyes following movements ...
If you do not add the documentation comment to the component, the content of the docs property will be extracted from the first part of your readme.md, between the main title and the first sub-title (initiated by #):
{
"filePath": "./src/components/x-eyes/x-eyes.tsx",
"encapsulation": "shadow",
"tag": "x-eyes",
"docs": "Shows a pair of eyes following movements of ...",
"readme": "# <x-eyes>\n\nShows a pair of eyes following movements ...
So, if you want to change the description summary of your component to be shorter or different than the introductory part of your readme.md, you can insert the component comment to your component source.

Doxygen: extract specific doxygen defines into separate documentaion

I have some source code (STM32 Peripherial Lib) with existing doxygen parameters which my Doxygen Builds without Problems.
For my project I want to generate a document with all functions in each file and a specific information which I want to add to the functions. But I want to keep the old informations for another doxygen configuration.
Is that possible?
I already added this for testing:
\ifnot "SECTION_DEFINE"
<normal Doxygen Parameters from original Source Code>
\elsif "SECTION_DEFINE"
#brief Function Check TODO
\endif
With this I could deactivate the existing documentation, but I need to write this \ifnot \elsif \endif to every function.
Can I just declare a Tag and only generate the documentation for this specific tag?
Kind regards
Andi
You may create a "related page" where only your additional information will be displayed with the \xrefitem command. As \xrefitem will also create a special text section within your original documentation you may want to combine it with your original idea of using section labels and conditional documentation. To top this concept off, use aliases in order to make your documentation more readable.
Consider this example code:
/** ST documentation
* foobar
* \exclusive for andi's function \endif
*/
void andreas(void);
/** ST documentation
* foobar
* \exclusive for beni's function \endif
*/
void benjamin(void);
You may use this alias in your Doxyfile: exclusive=\if SECTION_DEFINE \xrefitem viparea "Exclusive" "VIPs".
As long as SECTION_DEFINE is not defined, the "exclusive" information will not be included in your documentation. As soon as this section is defined, a "related page" (here: viparea.html) is created in your HTML documentation containing your documented items (here: andreas and benjamin) with the exclusive paragraph behind the command. The result:

Do not include custom markdown pages as top-level pages when including them as subpage?

I include markdown files in my groups in doxygen like so:
/**
* #addtogroup foobar "Foo Bar"
* #{
* #subpage doc_foo_bar
*/
And they show up in the module documentation as requested. But anyways, they show up as normal top-level-pages, like so:
project
- foo_bar <-- The "doc_foo_bar" custom markdown page
- modules
- - foobar <-- The module "foobar", which includes a "detailed documentation", which links to the markdown page
How to remove the top-level markdown page if it is already included in the module documentation group?
I hope my explanation is plain.

Generate a list of keywords using Doxygen

I am curious if it is possible to generate a list of keywords, a index if you will, for easy reference by doxygen ? I am not talking of list of classes etc. but specific words that are used as indexes.
This is possible but AFAIK only with the Latex/pdf output, with the command \addindex
See the manual.
If anybody knows a way to produce an index with the HTML, I would be very interested too.
xrefitem
With this you can create a page for each of your keywords. One example they already make an alias for:
\xrefitem todo "Todo" "Todo List"
You can add other aliases in your Doxygen file:
ALIASES += "reminder=\xrefitem reminders \"Reminder\" \"Reminders\""
Then in the code you can do something like:
\reminder Add the cool feature here.
And you'll get a Reminder page with the list of reminders on it.

Exporting custom properties to PDF with org mode

I am using Org-mode in Emacs and have an org document with some tasks. For some tasks, I added a custom property called PEOPLE, which lists the people involved in performing this task.
When I export this document to HTML or pdf, only properties which are "Special Properties" like DEADLINE or SCHEDULE are exported to HTML or pdf and appear in the exported document. I am not able to see the PEOPLE property when I export the document.
Is there a way to add custom properties to the "Special Properties" list of Org mode?
Look into using the "d:" field in the options list (http://orgmode.org/manual/Export-options.html#Export-options) or the :drawers option for html publishing (http://orgmode.org/manual/Publishing-options.html#Publishing-options). Without knowing more detail about how you are doing the exporting, that's the best advice I can give you.
By now what I'm doing is using this http://orgmode.org/manual/Capturing-column-view.html to add a table (with the desired properties) at the end of the document.
It might only work with 8.3, but you can use #+OPTIONS: prop:t or put the list of properties you want to include.
From 12.3 Export settings:
prop:
Toggle inclusion of property drawers, or list properties to include (org-export-with-properties).