Skip to content

Commit

Permalink
cmdref: Move html only section inside cmd:def
Browse files Browse the repository at this point in the history
Fixes missing links in body and `??` in tag/command index.
Update synth.rst to match.
  • Loading branch information
KrystalDelusion committed Oct 16, 2024
1 parent f137509 commit 4ea6119
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 14 deletions.
2 changes: 1 addition & 1 deletion docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ available, go to :ref:`commandindex`.
- Search bar with live drop down suggestions for matching on title /
autocompleting commands
- Scroll the left sidebar to the current location on page load
- Also the formatting/linking in pdf is broken
- Also the formatting in pdf uses link formatting instead of code formatting

.. todolist::

Expand Down
2 changes: 1 addition & 1 deletion docs/source/using_yosys/synthesis/synth.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ The following commands are executed by the `prep` command:

.. literalinclude:: /cmd/prep.rst
:start-at: begin:
:end-before: .. raw:: latex
:end-before: .. only:: latex
:dedent:

:doc:`/getting_started/example_synth` covers most of these commands and what
Expand Down
23 changes: 11 additions & 12 deletions kernel/register.cc
Original file line number Diff line number Diff line change
Expand Up @@ -812,11 +812,11 @@ struct HelpPass : public Pass {
fprintf(f, "%s", title_line.c_str());
fprintf(f, "%s - %s\n", cmd.c_str(), title.c_str());
fprintf(f, "%s\n", title_line.c_str());
fprintf(f, ".. raw:: latex\n\n \\begin{comment}\n\n");

// render html
fprintf(f, ".. cmd:def:: %s\n", cmd.c_str());
fprintf(f, " :title: %s\n\n", title.c_str());
fprintf(f, " :title: %s\n\n", title.c_str());
fprintf(f, " .. only:: html\n\n");
std::stringstream ss;
std::string textcp = text;
ss << text;
Expand Down Expand Up @@ -852,46 +852,45 @@ struct HelpPass : public Pass {
if (IsUsage) {
if (stripped_line.compare(0, 4, "See ") == 0) {
// description refers to another function
fprintf(f, "\n %s\n", stripped_line.c_str());
fprintf(f, "\n %s\n", stripped_line.c_str());
} else {
// usage should be the first line of help output
fprintf(f, "\n .. code:: yoscrypt\n\n %s\n\n ", stripped_line.c_str());
fprintf(f, "\n .. code:: yoscrypt\n\n %s\n\n ", stripped_line.c_str());
WasDefinition = true;
}
IsUsage = false;
} else if (IsIndent && NewUsage && (blank_count >= 2 || WasDefinition)) {
// another usage block
fprintf(f, "\n .. code:: yoscrypt\n\n %s\n\n ", stripped_line.c_str());
fprintf(f, "\n .. code:: yoscrypt\n\n %s\n\n ", stripped_line.c_str());
WasDefinition = true;
def_strip_count = 0;
} else if (IsIndent && IsDefinition && (blank_count || WasDefinition)) {
// format definition term
fprintf(f, "\n\n .. code:: yoscrypt\n\n %s\n\n ", stripped_line.c_str());
fprintf(f, "\n\n .. code:: yoscrypt\n\n %s\n\n ", stripped_line.c_str());
WasDefinition = true;
def_strip_count = first_pos;
} else {
if (IsDedent) {
fprintf(f, "\n\n ::\n");
fprintf(f, "\n\n ::\n");
def_strip_count = first_pos;
} else if (WasDefinition) {
fprintf(f, " ::\n");
fprintf(f, "::\n");
WasDefinition = false;
}
fprintf(f, "\n %s", line.substr(def_strip_count, std::string::npos).c_str());
fprintf(f, "\n %s", line.substr(def_strip_count, std::string::npos).c_str());
}

blank_count = 0;
}
fputc('\n', f);

// render latex
fprintf(f, ".. raw:: latex\n\n \\end{comment}\n\n");
fprintf(f, ".. only:: latex\n\n");
fprintf(f, " ::\n\n");
fprintf(f, " ::\n\n");
std::stringstream ss2;
ss2 << textcp;
for (std::string line; std::getline(ss2, line, '\n');) {
fprintf(f, " %s\n", line.c_str());
fprintf(f, " %s\n", line.c_str());
}
fclose(f);
}
Expand Down

0 comments on commit 4ea6119

Please sign in to comment.