Skip to content
This repository has been archived by the owner on Feb 28, 2023. It is now read-only.

Consolidate Header Set and Body Set columns in document attribute reference to Header Only #24

Closed
mojavelinux opened this issue Dec 15, 2020 · 5 comments

Comments

@mojavelinux
Copy link
Member

When we're talking about document attributes, all the writer needs to know is whether the document attribute must be set by the end of the header (i.e., Header Only). Otherwise, its implied that the attribute can be set anywhere, assuming it is not locked by the CLI or API. This change will also simplify the visual complexity of these tables.

@mojavelinux
Copy link
Member Author

It's true that there are certain attributes that can be modified even if they are locked. At the moment, this only includes sectnums. This is referred to as a flexible attribute. But that's an entirely separate subject and could be obsolete anyway now that Asciidoctor doesn't number special sections by default. (it now must be explicitly enabled using :sectnums: all)

mojavelinux added a commit to mojavelinux/asciidoc-docs that referenced this issue Dec 15, 2020
* fix incorrect values and descriptions
* consolidate Header Set and Body Set columns to Header Only
* resolves asciidoctor#1 indicate implied values separated from default values
* indicate implied value when value is empty
* update description of fields
* adjust column widths
* add several missing attributes
@mojavelinux
Copy link
Member Author

This issue is intertwined with #1 and I think we should solve both in a single pull request (otherwise, we'll end up with merge hell).

There are several concepts to represent:

  • Whether an attribute must be set by the end of the header (i.e., Header Only)
  • Whether an attribute is set by default
  • Whether an attribute has an implied value if not set (implied by the processor)
  • Whether an attribute has an implied value if the value is set to empty
  • Allowable values if an attribute only accepts certain values or value type

We also may need to deal with whether an attribute is modifiable separately. I think that's out of scope for this change.

@mojavelinux
Copy link
Member Author

There's also whether an attribute is set when running in embedded mode. There are only a few attributes affected by this, which are: embedded and notitle.

@mojavelinux
Copy link
Member Author

As a follow-up, I think we should pull the implicit document attributes into this page. That puts all the known built-in attributes in a single place. And, besides, some of the attributes on this page are implicit and some on the implicit page are modifiable. So we're creating an artificial division. We will need to address that "modifiable" field though. Perhaps we can bold the attribute name to indicate it cannot be changed. Again, probably a separate issue.

@graphitefriction
Copy link
Member

There's also whether an attribute is set when running in embedded mode. There are only a few attributes affected by this, which are: embedded and notitle.

I feel like embedded mode is really overlooked/flying under the radar. Or I just keep missing all the documentation about it 👀 I feel like we need to have a little session where we start with "What is embedded mode", "What uses cases does embedded mode solve", "How do I prepare content that I want to embed", "How do I embed this content", "Where can I embed content", "What are the limitations of embedded mode", What can I configure in embedded mode" .... and so on

I think we should pull the implicit document attributes into this page.

I'm down with with that 👍 It should definitely be a separate issue though!

So we're creating an artificial division.

Agreed

We will need to address that "modifiable" field though. Perhaps we can bold the attribute name to indicate it cannot be changed. Again, probably a separate issue.

Definitely a separate issue

mojavelinux added a commit to mojavelinux/asciidoc-docs that referenced this issue Dec 17, 2020
* rewrite intro
* fix incorrect values and descriptions
* consolidate Header Set and Body Set columns to Header Only
* resolves asciidoctor#1 indicate implied values separated from default values
* clarify difference between effective value and implied value
* update description of fields
* adjust column widths
* add several missing attributes
* move any above empty in legend for document attributes table
* remove outdated footnote and fix references to the remaining one
* rename Values column to Allowable Values
* rename Header Only column for security attributes to CLI/API only
* configure content in table header to align to bottom
mojavelinux added a commit that referenced this issue Feb 16, 2021
* rewrite intro
* fix incorrect values and descriptions
* consolidate Header Set and Body Set columns to Header Only
* resolves #1 indicate implied values separated from default values
* clarify difference between effective value and implied value
* update description of fields
* adjust column widths
* add several missing attributes
* move any above empty in legend for document attributes table
* remove outdated footnote and fix references to the remaining one
* rename Values column to Allowable Values
* rename Header Only column for security attributes to CLI/API only
* configure content in table header to align to bottom
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants