Merge pull request #85 from nanaian/doxygen

Doxygen
This commit is contained in:
Ethan Roseman 2020-10-20 15:59:35 -04:00 committed by GitHub
commit 54d5f4f08e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 310 additions and 4 deletions

21
.github/workflows/docs.yaml vendored Normal file
View File

@ -0,0 +1,21 @@
name: Doxygen
on:
push:
branches:
- master
jobs:
deploy:
name: Build and deploy documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build
uses: mattnotmitt/doxygen-action@v1
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/doxygen

1
.gitignore vendored
View File

@ -17,3 +17,4 @@ assets
*.bin
bin/
build/
docs/doxygen/

112
Doxyfile Normal file
View File

@ -0,0 +1,112 @@
# https://www.doxygen.nl/manual/config.html
PROJECT_NAME = "Paper Mario"
PROJECT_NUMBER =
PROJECT_BRIEF = "Decompilation of Paper Mario"
PROJECT_LOGO =
OUTPUT_DIRECTORY = docs
CREATE_SUBDIRS = NO
ALLOW_UNICODE_NAMES = YES
OPTIMIZE_OUTPUT_FOR_C = YES
TYPEDEF_HIDES_STRUCT = YES
NUM_PROC_THREADS = 0
EXTRACT_ALL = YES
EXTRACT_STATIC = YES
HIDE_UNDOC_CLASSES = NO
HIDE_IN_BODY_DOCS = YES
SHOW_GROUPED_MEMB_INC = YES
FORCE_LOCAL_INCLUDES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = NO
SORT_BRIEF_DOCS = NO
SORT_GROUP_NAMES = NO
GENERATE_TODOLIST = NO
GENERATE_TESTLIST = NO
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= NO
DISABLE_INDEX = YES
GENERATE_TREEVIEW = YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 1
SHOW_INCLUDE_FILES = NO
SHOW_USED_FILES = YES
SHOW_FILES = YES
SHOW_NAMESPACES = NO
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = NO
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_AS_ERROR = YES
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
INPUT = README.md src include
FILE_PATTERNS = *.c *.h
RECURSIVE = YES
EXCLUDE = include/nu include/PR include/ultra64.h
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS =
USE_MDFILE_AS_MAINPAGE = README.md
SOURCE_BROWSER = YES
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = NO
REFERENCES_LINK_SOURCE = NO
SOURCE_TOOLTIPS = YES
USE_HTAGS = NO
VERBATIM_HEADERS = NO
ALPHABETICAL_INDEX = NO
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
GENERATE_HTML = YES
HTML_OUTPUT = doxygen
HTML_HEADER = docs/doxygen_header.html
HTML_FOOTER =
HTML_EXTRA_STYLESHEET = docs/doxygen_custom.css
HTML_EXTRA_FILES =
HTML_COLORSTYLE_HUE = 220
HTML_COLORSTYLE_SAT = 100
HTML_COLORSTYLE_GAMMA = 80
HTML_TIMESTAMP = YES
HTML_DYNAMIC_MENUS = YES
HTML_DYNAMIC_SECTIONS = YES
HTML_INDEX_NUM_ENTRIES = 100
HTML_FORMULA_FORMAT = svg
USE_MATHJAX = YES
MATHJAX_FORMAT = SVG
SEARCHENGINE = YES
SERVER_BASED_SEARCH = NO
GENERATE_LATEX = NO
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
PREDEFINED = DOXYGEN NON_MATCHING __attribute__((x))=
EXPAND_AS_DEFINED = INCLUDE_ASM
SKIP_FUNCTION_MACROS = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH = include include/PR src
INCLUDE_FILE_PATTERNS =

150
docs/doxygen_custom.css Normal file
View File

@ -0,0 +1,150 @@
/* typography */
body, table, div, p, dl { font: inherit }
body, table, div, p, dl, p.reference, p.definition, .memberdecls .header {
color: #121212;
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;
}
:root { font-size: 10px } /* rem multiplier */
h1 { font-size: 3rem; }
h2 { font-size: 2.25rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1rem; }
h6 { font-size: .875rem; }
h1, h2, h3, h4, h5, h6 { margin-bottom: 3px }
h1 { border-bottom: 1px solid #eee }
.contents a:any-link { color: #357edd }
.contents a.visited { color: #5e2ca5 }
p.reference, p.definition { color: #959da5; font-weight: normal; font-size: 11px; line-height: 1.2 }
p.reference a, p.definition a { color: #959da5 !important }
p.reference a:hover, p.definition a:hover { color: #357edd }
.memname, .fragment, .memberdecls, .fragment .line, code {
font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
}
#PageDoc, .content, p {
font-size: 16px;
line-height: 1.5;
color: #1b1f23;
}
hr {
border-color: #eee;
margin: 2em;
}
/* layout */
html { height: 100% }
body {
display: flex;
flex-direction: row;
width: 100%;
max-width: 1000px;
min-height: 100%;
margin: 0 auto;
}
#side-nav {
position: relative;
width: 250px !important;
}
.ui-resizable-handle, #nav-sync { display: none !important }
#doc-content {
margin-left: 0 !important;
flex: 1;
}
#nav-path { display: none } /* hide footer */
#MathJax_Message { display: none } /* hide "MathJax loading..." message */
#MSearchBox {
position: fixed;
top: 1em;
right: 1em;
}
.contents {
font-size: 16px;
padding-top: 1em;
padding-bottom: 2em;
}
/*
table {
table-layout: fixed;
width: 100%;
}
.memItemLeft { width: 32ch }
*/
/* cleaning */
#details + .groupheader,
.definition,
.memtitle,
.contents > p:first-child > a:first-child /* "Go to the source code of this file." */
{ display: none }
table.memname * {
display: inline;
}
/* candy */
div.fragment, .memproto {
padding: 16px;
border: 0;
border-radius: 6px;
background: #f6f8fa;
}
div.fragment div.line {
font-size: 85%;
line-height: 1.45;
}
code {
padding: .2em .4em;
margin: 0;
font-size: 85%;
background: #f6f8fa;
}
.memitem {
display: block !important;
border-left: 1px solid #eee;
padding-left: 1em;
margin: 1em 0;
width: 100%;
box-sizing: border-box;
}
.memproto {
padding: 8px;
margin-bottom: .5em;
box-shadow: none;
text-shadow: none;
display: inline-block;
}
.memname {
margin-left: 0;
}
.memdoc {
border: 0;
padding: 0;
box-shadow: none;
background: none;
}

22
docs/doxygen_header.html Normal file
View File

@ -0,0 +1,22 @@
<!doctype html>
<html lang='en'> <!-- closed by doxygen-->
<head>
<meta charset='utf-8'>
<meta name='generator' content='Doxygen $doxygenversion'>
<meta name='viewport' content='width=device-width, initial-scale=1'>
<!--BEGIN PROJECT_NAME--><title>$title - $projectname Documentation</title><!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="$relpath^jquery.js"></script>
<script type="text/javascript" src="$relpath^dynsections.js"></script>
$treeview
$search
$mathjax
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
$extrastylesheet
</head>
<body> <!-- closed by doxygen-->
<div> <!-- closed by doxygen-->
$searchbox

View File

@ -9,7 +9,7 @@ if command -v apt &> /dev/null; then
if [[ $1 == "--extra" ]]; then
echo "Installing extra"
sudo apt install -y clang-tidy astyle || exit 1
sudo apt install -y clang-tidy astyle doxygen || exit 1
python3 -m pip install -U -r requirements_extra.txt || exit 1
fi
@ -50,7 +50,7 @@ if command -v pacman &> /dev/null; then
if [[ $1 == "--extra" ]]; then
echo "Installing extra"
sudo pacman -S --noconfirm --needed clang astyle || exit 1
sudo pacman -S --noconfirm --needed clang astyle doxygen || exit 1
python3 -m pip install -U -r requirements_extra.txt || exit 1
fi
@ -85,7 +85,7 @@ if command -v zypper &> /dev/null; then
if [[ $1 == "--extra" ]]; then
echo "Installing extra"
sudo zypper -n install clang astyle || exit 1
sudo zypper -n install clang astyle doxygen || exit 1
python3 -m pip install -U -r requirements_extra.txt || exit 1
fi
@ -141,7 +141,7 @@ if command -v apk &> /dev/null; then
if [[ $1 == "--extra" ]]; then
echo "Installing extra"
sudo apk add --no-cache clang-extra-tools astyle || exit 1
sudo apk add --no-cache clang-extra-tools astyle doxygen || exit 1
python3 -m pip install -U -r requirements_extra.txt || exit 1
fi