diff --git a/flang/docs/CMakeLists.txt b/flang/docs/CMakeLists.txt --- a/flang/docs/CMakeLists.txt +++ b/flang/docs/CMakeLists.txt @@ -109,13 +109,12 @@ COMMAND "${CMAKE_COMMAND}" -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/Source") - - # Copies FIRLangRef into the same directory as the - # other .md files, so sphinx can use them - add_custom_command(TARGET docs-flang-html POST_BUILD - COMMAND "${CMAKE_COMMAND}" -E copy - "${CMAKE_CURRENT_BINARY_DIR}/Dialect/FIRLangRef.md" - "${CMAKE_CURRENT_BINARY_DIR}/Source/FIRLangRef.md") + + # Runs a python script prior to HTML generation to prepend a header to FIRLangRef, + # Without the header, the page is incorrectly formatted, as it assumes the first entry is the page title. + add_custom_command(TARGET copy-flang-src-docs + COMMAND "${Python3_EXECUTABLE}" + ARGS ${CMAKE_CURRENT_BINARY_DIR}/Source/FIR/CreateFIRLangRef.py) endif() if (${SPHINX_OUTPUT_MAN}) diff --git a/flang/docs/FIR/CreateFIRLangRef.py b/flang/docs/FIR/CreateFIRLangRef.py new file mode 100644 --- /dev/null +++ b/flang/docs/FIR/CreateFIRLangRef.py @@ -0,0 +1,17 @@ +header = open('Source/FIR/FIRLangRef_Header.md', 'r') +docs = open('Dialect/FIRLangRef.md', 'r') + +output = open('Source/FIRLangRef.md', 'w') + +# 1. Writes line 1 from docs to output, (comment line that the file is autogenerated) +# 2. Adds a new line +# 3. Writes the entire header to the output file +# 4. Writes the remainder of docs to the output file +output.write(docs.readline()) +output.write("\n") +output.write(header.read()) +output.write(docs.read()) + +header.close() +docs.close() +output.close() \ No newline at end of file diff --git a/flang/docs/FIR/FIRLangRef_Header.md b/flang/docs/FIR/FIRLangRef_Header.md new file mode 100644 --- /dev/null +++ b/flang/docs/FIR/FIRLangRef_Header.md @@ -0,0 +1,3 @@ +# FIR Language Reference + +This page contains an overview of the Fortran IR operations, their syntax, and example usages. diff --git a/flang/docs/_templates/indexsidebar.html b/flang/docs/_templates/indexsidebar.html --- a/flang/docs/_templates/indexsidebar.html +++ b/flang/docs/_templates/indexsidebar.html @@ -5,7 +5,6 @@

Getting Involved

diff --git a/flang/docs/index.md b/flang/docs/index.md --- a/flang/docs/index.md +++ b/flang/docs/index.md @@ -44,6 +44,7 @@ Directives DoConcurrent Extensions + FIRLangRef FlangDriver FortranIR FortranLLVMTestSuite