diff --git a/Doxyfile b/Doxyfile index fccd4a493..d0c0414dc 100644 --- a/Doxyfile +++ b/Doxyfile @@ -2,9 +2,38 @@ DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = "libghostty" +PROJECT_LOGO = images/gnome/64.png INPUT = include/ghostty/vt.h INPUT_ENCODING = UTF-8 RECURSIVE = NO +FULL_PATH_NAMES = NO +STRIP_FROM_INC_PATH = include +SOURCE_BROWSER = YES +INLINE_SOURCES = NO +REFERENCES_RELATION = YES +REFERENCED_BY_RELATION = YES + +#--------------------------------------------------------------------------- +# C API Optimization +#--------------------------------------------------------------------------- + +# Optimize output for C API documentation +OPTIMIZE_OUTPUT_FOR_C = YES +TYPEDEF_HIDES_STRUCT = YES +HIDE_SCOPE_NAMES = YES + +# Clean path names +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = . +STRIP_FROM_INC_PATH = include + +# Hide undocumented and internal APIs +HIDE_UNDOC_MEMBERS = YES +HIDE_UNDOC_CLASSES = YES +EXTRACT_ALL = NO +INTERNAL_DOCS = NO +EXTRACT_PRIVATE = NO +EXTRACT_LOCAL_CLASSES = NO #--------------------------------------------------------------------------- # HTML Output @@ -12,6 +41,21 @@ RECURSIVE = NO GENERATE_HTML = YES HTML_OUTPUT = zig-out/share/ghostty/doc/libghostty +HTML_EXTRA_STYLESHEET = dist/doxygen/ghostty.css +HTML_EXTRA_FILES = dist/doxygen/favicon.png +HTML_COLORSTYLE = DARK +LAYOUT_FILE = DoxygenLayout.xml +GENERATE_TREEVIEW = YES +HTML_DYNAMIC_SECTIONS = YES +SEARCHENGINE = YES +ALPHABETICAL_INDEX = YES +HTML_TIMESTAMP = NO + +#--------------------------------------------------------------------------- +# Graphs and Diagrams +#--------------------------------------------------------------------------- + +HAVE_DOT = NO #--------------------------------------------------------------------------- # Man Output @@ -20,6 +64,7 @@ HTML_OUTPUT = zig-out/share/ghostty/doc/libghostty GENERATE_MAN = YES MAN_OUTPUT = zig-out/share/man MAN_EXTENSION = .3 +MAN_LINKS = YES #--------------------------------------------------------------------------- # Other Output diff --git a/DoxygenLayout.xml b/DoxygenLayout.xml index 67497e83f..ae9c52684 100644 --- a/DoxygenLayout.xml +++ b/DoxygenLayout.xml @@ -6,37 +6,15 @@ - + - - - - - - - - - - - - - - - - - - + - - - - - - + diff --git a/dist/doxygen/favicon.png b/dist/doxygen/favicon.png new file mode 100644 index 000000000..b647bcf35 Binary files /dev/null and b/dist/doxygen/favicon.png differ diff --git a/dist/doxygen/ghostty.css b/dist/doxygen/ghostty.css new file mode 100644 index 000000000..cac21e689 --- /dev/null +++ b/dist/doxygen/ghostty.css @@ -0,0 +1,99 @@ +/** + * Ghostty Doxygen Custom Stylesheet + * Minimal branding customizations for Ghostty colors + */ + +/* Ghostty brand color for links and accents - high contrast for dark bg */ +a, a:link { + color: #99B3FF; +} + +a:visited { + color: #99B3FF; +} + +a:hover { + color: #C2D4FF; +} + +/* High contrast text colors */ +body, div.contents, div.header, .title, .summary, td, th, p, li { + color: #E8E8E8 !important; +} + +h1, h2, h3, h4, h5, h6, .groupheader { + color: #FFFFFF !important; +} + +.memtitle, .memname { + color: #FFFFFF !important; +} + +.memdoc { + color: #E8E8E8 !important; +} + +/* Selection color */ +::selection { + background: rgba(53, 81, 243, 0.6); +} + +/* Tree view selected item */ +#nav-tree .selected { + background-color: #3551F3 !important; +} + +/* Custom syntax highlighting optimized for dark backgrounds with high contrast */ +.fragment, div.line { + color: #F0F0F0 !important; +} + +/* Keywords (int, void, const, static, etc.) */ +.keyword, .keywordtype { + color: #FF8BE6 !important; + font-weight: 500; +} + +/* Control flow (if, else, return, for, while, etc.) */ +.keywordflow { + color: #FF8BE6 !important; + font-weight: 500; +} + +/* Comments */ +.comment { + color: #8BC34A !important; + font-style: italic; +} + +/* Preprocessor directives (#include, #define, etc.) */ +.preprocessor { + color: #FFCC66 !important; +} + +/* String and character literals */ +.stringliteral, .charliteral { + color: #B8E986 !important; +} + +/* Numbers */ +span.charliteral { + color: #D4A5FF !important; +} + +/* Function names */ +.functionname { + color: #6FE87C !important; + font-weight: 500; +} + +/* Line numbers */ +span.lineno { + color: #8A8A8A !important; + background-color: transparent !important; +} + +span.lineno a { + color: #8A8A8A !important; + background-color: transparent !important; +}