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

Script to insert keyword links #410

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

hakonhagland
Copy link
Collaborator

Builds on #408 and #409 which should be merged first.

The script replaces keyword names inside <text:p ...> tags with links to the corresponding keyword definition page. See #408 for more information. Since there are over 1000 keywords, and since I am not very confident that it will work correctly on every file, the plan is to apply the script to some keywords at a time. For example, starting with the 168 keywords in chapter 5. After it has been applied to all keyword files, we can consider applying it to the chapters and appendices also.

Python script to extract a mapping from keyword names to XML URI tag
names. The mapping can be saved to a file and later used to make
keywords clickable. That is, to be able to click on a keyword referenced
in a paragraph of text, and then jump to the page where that keyword
is defined.
A mapping file for keyword name to URI
@hakonhagland hakonhagland changed the title Kw convert script Script to insert keyword links Nov 4, 2024
@hakonhagland
Copy link
Collaborator Author

There is currently an issue if the text contains fixed width fonts like for the H2STORE keyword. For example, at page 288 in the manual:

image

Do we want to insert links in the fixed width font part in the bottom of the screenshot? Currently, the script will insert links here too.

@hakonhagland
Copy link
Collaborator Author

The script also needs to handle recursive <text:p> tags. This is an issue if a paragraph contains footnotes that are also marked up with <text:p>.

@gdfldm
Copy link
Collaborator

gdfldm commented Nov 4, 2024

Do we want to insert links in the fixed width font part in the bottom of the screenshot?

I would be inclined not to add links here. I think if we would like to have a link then the keyword could be mentioned in the text surrounding the example input.

@gdfldm
Copy link
Collaborator

gdfldm commented Nov 4, 2024

Where a "keyword" appears multiple times in a KEYWORD.fodt file do we want add links to every occurrence or perhaps just the first?

@hakonhagland
Copy link
Collaborator Author

hakonhagland commented Nov 5, 2024

do we want add links to every occurrence or perhaps just the first?

@gdfldm We could also think of the links as a special markup for the keywords. Currently, the user recognizes a keyword by being an uppercase word, but there are upper case words that are not a keyword. However, if the keyword is also displayed in in e.g. italics and in a different color, the user will more easily recognize a keyword. Here is an example for how it will look for the H2STORE keyword:

image

Note that currently the keyword itself H2STORE is not marked up, but we could change that such that (it could link to itself) to avoid confusion (whether the H2STORE is a keyword or not).

To provide a consistent markup experience for the keywords, we should
also link the keyword to itself
@blattms
Copy link
Member

blattms commented Nov 5, 2024

Thanks a lot. I'll review this (with my limited Python knowledge) after the others are merged. That hopefully saves time.

@hakonhagland
Copy link
Collaborator Author

hakonhagland commented Nov 5, 2024

Currently, the script misses keywords that are split by span tags, for example if CO2STORE occurs like this within the text <text:span text:style-name="T6">C</text:span>O2STORE

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.

3 participants