-
-
Notifications
You must be signed in to change notification settings - Fork 621
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
Convert t2t to markdown, then to HTML #15945
Conversation
f20b3f9
to
79448ac
Compare
79448ac
to
584031f
Compare
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
97b906b
to
fabdab3
Compare
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Thanks @lukaszgo1 all feedback should now be resolved |
I would suggest opening up a separate issue. |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
No, I did not build from this branch before. The procedure you've proposed didn't help, as there were no
As long as the documentation was build before this is going to fail. Removing |
Ah I see the problem. I have removed keyCommands.t2t from the .gitignore, along with build.t2tconf. This is to make them more visible to developers to ensure they remove them. During the transition period developers will have to perform The white space diffs in .t2t files could be avoided - however I plan to just commit these whitespace changes to beta once this PR is merged so that they are not annoying to devs. |
will this be merged soon? I am just curious as a translator |
Merging this alone won't affect translators - this is just a step towards getting the documents ready for translators |
Follow up to #15945 Summary of the issue: locale.t2tconf files are no longer required. Setting the language code and direction will happen using custom rules in #15945 when converting markdown to HTML Description of user facing changes None once #15945 is merged Description of development approach locale.t2tconf files were removed. References were also removed. When saving documents, VS code automatically fixed whitespace issues like mixed line endings. The diff should be viewed with "ignore whitespace" on.
Clean up of #15945 Summary of the issue: The key commands doc generator script is in the base folder of the repository - it should be moved to a folder to keep the base repo tidy. I propose it is moved to user_docs - particularly because of its relation to the docs, and the fact that the t2tconf files will be removed. The documentation for key commands is lacking in the wiki: https://github.com/nvaccess/nvda/wiki/TranslatingUserGuide The inline documentation in the module covers the syntax more thoroughly and should be moved to project docs.
Follow up to #15945 Summary of the issue: Translators can add arbitrary HTML to markdown translations files. This is a stored XSS risk Description of user facing changes Should be none - however see known issues Description of development approach Used the python bindings for the Rust Ammonia sanitization library Testing strategy: Tested building docs, diffed HTML results between this PR and beta. Known issues with pull request: The sanitization deletes any HTML tags that are not recognized. This includes using angle brackets around words, e.g.: <minor>. If these are wrapped by code formatting these are correctly escaped: e.g. `<minor>` While english files are mostly correct, many translated files do not wrap text with angle brackets with code formatting. This means certain parts of translated documentation will be stripped, i.e. <major>.<minor>.<patch> becomes ..
Related #15945, #16024 Summary of the issue: The documentation folder in the NVDA directory contains files that the user does not need. For example: keyCommandsDoc.py Description of user facing changes The structure of the subfolders in documentation is the same as in the release version, with documentation/styles.css removed. Description of development approach In setup.py, exclude the corresponding file
Closes nvaccess#8734 Part of nvaccess#15014 Related nvaccess/nvda-misc-deps#30, nvaccess#16002, nvaccess#15950, nvaccess#15939, nvaccess#15981 Summary of the issue: In order to migrate to Crowdin, we must convert txt2tags to markdown. In order transition safely, beta will build docs from t2t to markdown to html. Eventually the t2t will be removed and the markdown will become the source of truth. Description of user facing changes The user Guide no longer has numbered sections Translators and documentation writers now use extended markdown syntax rather than txt2tags. Description of development approach The build system performs certain pre-processing and post-processing when converting t2t to HTML. This equivalent system should be retained - i.e. the translator and documentation contribution experience should remain the same for markdown to HTML. Additionally, when converting t2t to markdown, new processing rules had to be created. There is no universal standard for custom anchors in markdown. As such text2tags doesn't have default rules for this. To retain our custom anchors, I added rules for a common markdown extended syntax. Similarly a shortcut is used for generating table of contents. See nvaccess/nvda-misc-deps#30 Setting the language code is done using the user_docs folder name, and the direction of RTL is manually set for the 3 current languages that require it, Persian, Arabic, Hebrew. Special Catalan processing for adding hreflang attributes is converted to a markdown extension syntax of {hreflang=en} The key commands file is generated using a custom made markdown python extension.
Follow up to nvaccess#15945 Summary of the issue: locale.t2tconf files are no longer required. Setting the language code and direction will happen using custom rules in nvaccess#15945 when converting markdown to HTML Description of user facing changes None once nvaccess#15945 is merged Description of development approach locale.t2tconf files were removed. References were also removed. When saving documents, VS code automatically fixed whitespace issues like mixed line endings. The diff should be viewed with "ignore whitespace" on.
Clean up of nvaccess#15945 Summary of the issue: The key commands doc generator script is in the base folder of the repository - it should be moved to a folder to keep the base repo tidy. I propose it is moved to user_docs - particularly because of its relation to the docs, and the fact that the t2tconf files will be removed. The documentation for key commands is lacking in the wiki: https://github.com/nvaccess/nvda/wiki/TranslatingUserGuide The inline documentation in the module covers the syntax more thoroughly and should be moved to project docs.
…6043) Follow up to nvaccess#15945 Summary of the issue: Translators can add arbitrary HTML to markdown translations files. This is a stored XSS risk Description of user facing changes Should be none - however see known issues Description of development approach Used the python bindings for the Rust Ammonia sanitization library Testing strategy: Tested building docs, diffed HTML results between this PR and beta. Known issues with pull request: The sanitization deletes any HTML tags that are not recognized. This includes using angle brackets around words, e.g.: <minor>. If these are wrapped by code formatting these are correctly escaped: e.g. `<minor>` While english files are mostly correct, many translated files do not wrap text with angle brackets with code formatting. This means certain parts of translated documentation will be stripped, i.e. <major>.<minor>.<patch> becomes ..
Related nvaccess#15945, nvaccess#16024 Summary of the issue: The documentation folder in the NVDA directory contains files that the user does not need. For example: keyCommandsDoc.py Description of user facing changes The structure of the subfolders in documentation is the same as in the release version, with documentation/styles.css removed. Description of development approach In setup.py, exclude the corresponding file
Link to issue number:
Closes #8734
Part of #15014
Related nvaccess/nvda-misc-deps#30, #16002, #15950, #15939, #15981
Summary of the issue:
In order to migrate to Crowdin, we must convert txt2tags to markdown.
In order transition safely, beta will build docs from t2t to markdown to html.
Eventually the t2t will be removed and the markdown will become the source of truth.
Description of user facing changes
The user Guide no longer has numbered sections
Translators and documentation writers now use extended markdown syntax rather than txt2tags.
Description of development approach
The build system performs certain pre-processing and post-processing when converting t2t to HTML.
This equivalent system should be retained - i.e. the translator and documentation contribution experience should remain the same for markdown to HTML.
Additionally, when converting t2t to markdown, new processing rules had to be created.
There is no universal standard for custom anchors in markdown.
As such text2tags doesn't have default rules for this. To retain our custom anchors, I added rules for a common markdown extended syntax.
Similarly a shortcut is used for generating table of contents.
See nvaccess/nvda-misc-deps#30
Setting the language code is done using the user_docs folder name, and the direction of RTL is manually set for the 3 current languages that require it, Persian, Arabic, Hebrew.
Special Catalan processing for adding hreflang attributes is converted to a markdown extension syntax of
{hreflang=en}
The key commands file is generated using a custom made markdown python extension.
Testing strategy:
Tested running
scons user_docs
and checking the resulting files.Known issues with pull request:
None
Code Review Checklist: