Last active
February 18, 2020 08:23
-
-
Save eseiler/8ca4c34f1ab5d5a35158d77fe407dc45 to your computer and use it in GitHub Desktop.
Build 3.0.0 docs with some cherry picked infrastructure commits
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| From 4ec15c81e2116c65e5d8ef85268e37a12f4eb77f Mon Sep 17 00:00:00 2001 | |
| From: Enrico Seiler <[email protected]> | |
| Date: Tue, 18 Feb 2020 08:45:40 +0100 | |
| Subject: [PATCH 1/1] [DOC] Build updated 3.0.0 docs with doxygen-1.8.14 | |
| --- | |
| include/seqan3/alphabet/all.hpp | 22 ++++----- | |
| test/documentation/seqan3.css | 24 +++++++--- | |
| test/documentation/seqan3_doxygen_cfg.in | 5 ++ | |
| test/documentation/seqan3_footer.html | 23 +++++++++ | |
| test/documentation/version.js | 59 ++++++++++++++++++++++++ | |
| test/documentation/version.php | 32 +++++++++++++ | |
| 6 files changed, 148 insertions(+), 17 deletions(-) | |
| create mode 100644 test/documentation/seqan3_footer.html | |
| create mode 100644 test/documentation/version.js | |
| create mode 100644 test/documentation/version.php | |
| diff --git a/include/seqan3/alphabet/all.hpp b/include/seqan3/alphabet/all.hpp | |
| index 68787ebf..472b6244 100644 | |
| --- a/include/seqan3/alphabet/all.hpp | |
| +++ b/include/seqan3/alphabet/all.hpp | |
| @@ -121,17 +121,17 @@ | |
| * seqan3::WritableAlphabet whenever the values might be changed. | |
| * Semi-alphabets are less useful in application code. | |
| * | |
| - * | | seqan3::Semialphabet | seqan3::WritableSemialphabet | seqan3::Alphabet | seqan3::WritableAlphabet | Aux | | |
| - * |----------------------------------|:--------------------:|:----------------------------:|:----------------:|:------------------------:|:---:| | |
| - * | seqan3::alphabet_size | ✅ | ✅ | ✅ | ✅ | | | |
| - * | seqan3::to_rank | ✅ | ✅ | ✅ | ✅ | | | |
| - * | seqan3::alphabet_rank_t | ✅ | ✅ | ✅ | ✅ | 🔗 | | |
| - * | seqan3::assign_rank_to | | ✅ | | ✅ | | | |
| - * | seqan3::to_char | | | ✅ | ✅ | | | |
| - * | seqan3::alphabet_char_t | | | ✅ | ✅ | 🔗 | | |
| - * | seqan3::assign_char_to | | | | ✅ | | | |
| - * | seqan3::char_is_valid_for | | | | ✅ | | | |
| - * | seqan3::assign_char_strictly_to | | | | ✅ | 🔗 | | |
| + * | | [Semialphabet](@ref seqan3::Semialphabet) | [WritableSemialphabet](@ref seqan3::WritableSemialphabet) | [Alphabet](@ref seqan3::Alphabet) | [WritableAlphabet](@ref seqan3::WritableAlphabet) | Aux | | |
| + * |-----------------------------------------------------------:|:-----------------------------------------:|:---------------------------------------------------------:|:---------------------------------:|:-------------------------------------------------:|:---:| | |
| + * | [alphabet_size](@ref seqan3::alphabet_size) | ✅ | ✅ | ✅ | ✅ | | | |
| + * | [to_rank](@ref seqan3::to_rank) | ✅ | ✅ | ✅ | ✅ | | | |
| + * | [alphabet_rank_t](@ref seqan3::alphabet_rank_t) | ✅ | ✅ | ✅ | ✅ | 🔗 | | |
| + * | [assign_rank_to](@ref seqan3::assign_rank_to) | | ✅ | | ✅ | | | |
| + * | [to_char](@ref seqan3::to_char) | | | ✅ | ✅ | | | |
| + * | [alphabet_char_t](@ref seqan3::alphabet_char_t) | | | ✅ | ✅ | 🔗 | | |
| + * | [assign_char_to](@ref seqan3::assign_char_to) | | | | ✅ | | | |
| + * | [char_is_valid_for](@ref seqan3::char_is_valid_for) | | | | ✅ | | | |
| + * | [assign_char_strictly_to](@ref seqan3::assign_char_strictly_to) | | | | ✅ | 🔗 | | |
| * | |
| * The above table shows all alphabet concepts and related functions and type traits. | |
| * The entities marked as "auxiliary" provide shortcuts to the other "essential" entitities. | |
| diff --git a/test/documentation/seqan3.css b/test/documentation/seqan3.css | |
| index 64aaef7e..b517af60 100644 | |
| --- a/test/documentation/seqan3.css | |
| +++ b/test/documentation/seqan3.css | |
| @@ -26,6 +26,17 @@ h1 { | |
| table { | |
| font-size: 12pt; | |
| font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; | |
| + table-layout: auto; | |
| + width: 100%; | |
| +} | |
| + | |
| +.memItemLeft, .memTemplItemLeft { | |
| + white-space: normal; | |
| + width: 30%; | |
| +} | |
| + | |
| +.memItemRight { | |
| + width: 70%; | |
| } | |
| div.contents { | |
| @@ -45,6 +56,7 @@ div.contents { | |
| #projectlogo { | |
| padding: 10px; | |
| + width: 150px; | |
| } | |
| hr.footer { | |
| @@ -109,30 +121,30 @@ hr { | |
| } | |
| /* markdown tables */ | |
| -table.doxtable { | |
| +table.markdownTable { | |
| empty-cells: show; | |
| border: 1px solid #CBCBCB; | |
| } | |
| -table.doxtable caption { | |
| +table.markdownTable caption { | |
| color: #000; | |
| font: italic 85%/1 arial,sans-serif; | |
| padding: 1em 0; | |
| text-align: center; | |
| } | |
| -table.doxtable td:first-child, table.doxtable th:first-child { | |
| +table.markdownTable td:first-child, table.markdownTable th:first-child { | |
| border-left-width: 0; | |
| } | |
| -table.doxtable thead { | |
| +table.markdownTable thead { | |
| background-color: #E0E0E0; | |
| color: #000; | |
| text-align: left; | |
| vertical-align: bottom; | |
| } | |
| -table.doxtable td { | |
| +table.markdownTable td { | |
| background-color: transparent; | |
| border: 0; | |
| border-bottom: 2px solid #CBCBCB; | |
| @@ -143,7 +155,7 @@ table.doxtable td { | |
| padding: .5em 1em; | |
| } | |
| -table.doxtable th { | |
| +table.markdownTable th { | |
| border: 0; | |
| border-width: 0 1 0 0px; | |
| font-size: inherit; | |
| diff --git a/test/documentation/seqan3_doxygen_cfg.in b/test/documentation/seqan3_doxygen_cfg.in | |
| index 84e1c778..b0bd1a17 100644 | |
| --- a/test/documentation/seqan3_doxygen_cfg.in | |
| +++ b/test/documentation/seqan3_doxygen_cfg.in | |
| @@ -22,6 +22,8 @@ DOT_IMAGE_FORMAT = svg | |
| DOT_GRAPH_MAX_NODES = 500 | |
| INTERACTIVE_SVG = ${SEQAN3_DOXYGEN_HAVE_DOT} | |
| +PROJECT_NUMBER = "3.0.0" | |
| + | |
| ## MISC OPTIONS | |
| GENERATE_LATEX = NO | |
| HTML_TIMESTAMP = YES | |
| @@ -39,6 +41,7 @@ SKIP_FUNCTION_MACROS = NO | |
| SORT_BRIEF_DOCS = YES | |
| TOC_INCLUDE_HEADINGS = 2 | |
| HTML_EXTRA_STYLESHEET = ${SEQAN3_DOXYGEN_SOURCE_DIR}/test/documentation/seqan3.css | |
| +HTML_FOOTER = ${SEQAN3_DOXYGEN_SOURCE_DIR}/test/documentation/seqan3_footer.html | |
| INPUT_ENCODING = UTF-8 | |
| PREDEFINED = "CEREAL_SERIALIZE_FUNCTION_NAME=serialize" \ | |
| @@ -89,3 +92,5 @@ ALIASES += experimental="\warning The interface of this documentation item is no | |
| ### Extra files that we can link to | |
| HTML_EXTRA_FILES = ${SEQAN3_DOXYGEN_SOURCE_DIR}/doc/tutorial/alignment_file/example.sam | |
| +HTML_EXTRA_FILES += ${SEQAN3_DOXYGEN_SOURCE_DIR}/test/documentation/version.js | |
| +HTML_EXTRA_FILES += ${SEQAN3_DOXYGEN_SOURCE_DIR}/test/documentation/version.php | |
| diff --git a/test/documentation/seqan3_footer.html b/test/documentation/seqan3_footer.html | |
| new file mode 100644 | |
| index 00000000..55cce088 | |
| --- /dev/null | |
| +++ b/test/documentation/seqan3_footer.html | |
| @@ -0,0 +1,23 @@ | |
| +<!-- HTML footer for doxygen 1.8.16--> | |
| +<!-- start footer part --> | |
| +<!--BEGIN GENERATE_TREEVIEW--> | |
| +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> | |
| + <ul> | |
| + <div id="list_bottom_right" style="text-align:right; float:left; color:black; padding: 0px 0px 0px 10px"></div> | |
| + <script type="text/javascript" charset="utf-8" src="version.js"></script> | |
| + $navpath | |
| + <li class="footer">$generatedby | |
| + <a href="http://www.doxygen.org/index.html"> | |
| + <img class="footer" src="$relpath^doxygen.png" alt="doxygen"/></a> $doxygenversion </li> | |
| + </ul> | |
| +</div> | |
| +<!--END GENERATE_TREEVIEW--> | |
| +<!--BEGIN !GENERATE_TREEVIEW--> | |
| +<hr class="footer"/><address class="footer"><small> | |
| +$generatedby  <a href="http://www.doxygen.org/index.html"> | |
| +<img class="footer" src="$relpath^doxygen.png" alt="doxygen"/> | |
| +</a> $doxygenversion | |
| +</small></address> | |
| +<!--END !GENERATE_TREEVIEW--> | |
| +</body> | |
| +</html> | |
| diff --git a/test/documentation/version.js b/test/documentation/version.js | |
| new file mode 100644 | |
| index 00000000..b216b0ea | |
| --- /dev/null | |
| +++ b/test/documentation/version.js | |
| @@ -0,0 +1,59 @@ | |
| +/* Jongkyu Kim ([email protected]), 2016.01.12 | |
| + Adaptations by Enrico Seiler ([email protected]), 2020 */ | |
| + | |
| +// Get the current script path https://stackoverflow.com/a/710996 | |
| +var scripts = document.getElementsByTagName('script'); | |
| +var lastScript = scripts[scripts.length-1]; | |
| +var scriptName = lastScript.src; | |
| +// Remove the script name (version.js) from the path | |
| +var split = scriptName.split("/"); | |
| +DOCUMENT_URL = split.slice(0, split.length - 2).join("/") + "/"; | |
| + | |
| +VERSION_JSON_URL = "version.php"; | |
| + | |
| +function changeVersion(formid) | |
| +{ | |
| + var frm = document.getElementById(formid); | |
| + window.top.location.href = DOCUMENT_URL + frm.options[frm.selectedIndex].value; | |
| +} | |
| + | |
| +function addVersionSelection(arr) | |
| +{ | |
| + // add HTMLs | |
| + var version_select = document.createElement("select"); | |
| + var version_div = document.createElement("div"); | |
| + | |
| + version_select.setAttribute("id","version_select"); | |
| + version_div.setAttribute("style","vertical-align:middle; text-align:right;"); | |
| + version_div.appendChild(document.createTextNode("Version: ")); | |
| + version_div.appendChild(version_select); | |
| + document.getElementById("list_bottom_right").appendChild(version_div); | |
| + | |
| + version_select.addEventListener("change", function(){changeVersion(this.id);}, false); | |
| + | |
| + // current selection is.. | |
| + cur_sel = window.location.pathname.split("/")[2]; | |
| + | |
| + for(i=0; i < arr.length; ++i) | |
| + { | |
| + var op = document.createElement("option"); | |
| + op.value = arr[i]; | |
| + op.text = arr[i]; | |
| + op.selected = ( arr[i] == cur_sel ) ? true : false; | |
| + version_select.add(op); | |
| + } | |
| +} | |
| + | |
| +// get JSON data & add selection form | |
| +var req = new XMLHttpRequest(); | |
| +req.open("GET", VERSION_JSON_URL, true); | |
| +req.setRequestHeader("Content-type", "application/json"); | |
| +req.onreadystatechange = function() | |
| +{ | |
| + if( req.readyState == 4 && req.status == 200 ) | |
| + { | |
| + var response = JSON.parse(req.responseText); | |
| + addVersionSelection(response); // add selection form | |
| + } | |
| +} | |
| +req.send(); | |
| diff --git a/test/documentation/version.php b/test/documentation/version.php | |
| new file mode 100644 | |
| index 00000000..966f3e37 | |
| --- /dev/null | |
| +++ b/test/documentation/version.php | |
| @@ -0,0 +1,32 @@ | |
| +<?php | |
| +/* Jongkyu Kim([email protected]), 2016.01.12 | |
| + Adaptations by Enrico Seiler ([email protected]), 2020 */ | |
| +$LOCALDIR = "../"; | |
| + | |
| +$files = scandir($LOCALDIR, SCANDIR_SORT_DESCENDING); | |
| +$list = array(); | |
| +foreach( $files as $file ) | |
| +{ | |
| + if( strpos($file, "master_") !== FALSE ) // Skip directories starting with "master_" | |
| + continue; | |
| + if( $file == "master") // Skip SeqAn2 "master" documentation | |
| + continue; | |
| + if( $file == "index.html") // Skip seqan/index.html | |
| + continue; | |
| + if( strpos($file, "develop") !== FALSE ) // Skip SeqAn2 "develop" and "develop_" documentation | |
| + continue; | |
| + if( $file[0] == "1") // Skip SeqAn1 versioned documentation | |
| + continue; | |
| + if( $file[0] == "2") // Skip SeqAn2 versioned documentation | |
| + continue; | |
| + if( strpos($file, "learning-resources") !== FALSE ) // Skip learning resources | |
| + continue; | |
| + if( $file[0] == "." ) // Skip current directory | |
| + continue; | |
| + | |
| + array_push($list, $file); | |
| +} | |
| + | |
| +header("Content-Type: application/json"); | |
| +echo json_encode($list, JSON_PRETTY_PRINT); | |
| +?> | |
| -- | |
| 2.21.1 (Apple Git-122.3) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment