First Commit

This commit is contained in:
dsutanto committed 2025-11-19 16:30:37 +07:00
commit ae0fab9400
424 files changed
+71006

No files matched your search

+5
View File
@@ -0,0 +1,5 @@
# doc build output
html/
# doxygen theme
doxygen-awesome-css/
+7
View File
@@ -0,0 +1,7 @@
# Meta-doc: Notes about other doc
- `ci-pipelines.md`: CI configuration notes.
- CI: `.github\workflows\build.yml`
- `doxygen.md`: Automatic document generation with Doxygen.
- CI: `.github\workflows\doxygen.yml`
- `doxygen/`: Files needed to build the document.
+32
View File
@@ -0,0 +1,32 @@
#!/usr/bin/env python3
# Automatically generates AUTHORS.md from GitHub API data
from github import Github
REPO = "libui-ng/libui-ng"
HEADER = "**The libui-ng project would like to acknowledge the following contributors:**"
FILE = "AUTHORS.md"
def fetch_authors(repo):
# fully load the paginated list before processing
return [author for author in repo.get_contributors()]
def write_authors_file(authors, f):
f.write("# Authors\n\n")
f.write(HEADER + "\n\n")
for author in authors:
handle = "@" + author.login
name = author.name
if name is not None and len(name.split(" ")) > 1:
name += " "
else:
name = ""
f.write(" * " + name + handle + "\n")
def main():
g = Github()
repo = g.get_repo(REPO)
with open(FILE, "w") as f:
write_authors_file(fetch_authors(repo), f)
if __name__ == "__main__":
main()
+47
View File
@@ -0,0 +1,47 @@
# Continuous Integration Arch
## docs
+ Build matrix: [Workflow syntax for GitHub Actions - GitHub Docs](https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix)
+ Supported runners: [About GitHub-hosted runners - GitHub Docs](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources)
+ Meson: [meson/Continuous-Integration.md at master · mesonbuild/meson](https://github.com/mesonbuild/meson/blob/master/docs/markdown/Continuous-Integration.md#github-actions)
## Build matrix
9 build =
+ Ubuntu=2
+ Windows-MSVC=4
+ Windows-Mingw=1
+ macOS=2
### Ubuntu
2 build =
- `[ubuntu-latest]`
- `[x64]`
- `[static, shared]`
- `[debug]`
### Windows
**MSVC**
4 build =
- `[windows-latest]`
- `[x86, x64]`
- `[static, shared]`
- `[debug]`
**Mingw**
1 build =
- `[windows-latest]`
- `[x64]`
- `[static]`
- `[release]`
### macOS
2 build =
- `[macos-11]`
- `[x64]`
- `[static, shared]`
- `[debug]`
+32
View File
@@ -0,0 +1,32 @@
# doxygen related notes
## local build
- install doxygen: [Doxygen Manual: Installation](https://www.doxygen.nl/manual/install.html)
Note: you need v1.9.2+ Or theme will not work.
- clone this repo: `git clone https://github.com/libui-ng/libui-ng.git`
- switch dir: `cd libui-ng`
- Clone doxygen theme:
Or you can follow [doxygen-awesome-css](https://github.com/jothepro/doxygen-awesome-css#installation) installation tutorial.
Note: we use [Dark Mode Toggle](https://github.com/jothepro/doxygen-awesome-css#dark-mode-toggle-experimental).
```sh
cd doc/
git clone https://github.com/jothepro/doxygen-awesome-css
cd doxygen-awesome-css/
git checkout v1.6.1
```
**windows**
- Open `Doxywizard`
- Load `Doxyfile` settings
- In **"Run"** Tab, press **"Run doxygen"** button
**linux/macOS**
- `doxygen Doxyfile`
The generated html document is located in: `doc/html/`
## doc style
- Comment style: `///`
https://www.doxygen.nl/manual/docblocks.html#cppblock
- Some special tags that can be used in comments: https://www.doxygen.nl/manual/commands.html
@@ -0,0 +1,3 @@
## API
See ui.h
+30
View File
@@ -0,0 +1,30 @@
<!-- HTML footer for doxygen 1.9.3-->
<!-- start footer part -->
<!--BEGIN GENERATE_TREEVIEW-->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
$navpath
<li class="footer">$generatedby <a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion </li>
</ul>
</div>
<!--END GENERATE_TREEVIEW-->
<!--BEGIN !GENERATE_TREEVIEW-->
<hr class="footer"/><address class="footer"><small>
$generatedby&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion
</small></address>
<!--END !GENERATE_TREEVIEW-->
<script type="text/javascript">
// script for doxygen 1.9.2+
$(function() {
toggleButton = document.createElement('doxygen-awesome-dark-mode-toggle')
toggleButton.title = "Toggle Light/Dark Mode"
$(document).ready(function(){
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton)
})
$(window).resize(function(){
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton)
})
})
</script>
</body>
</html>
+74
View File
@@ -0,0 +1,74 @@
<!-- HTML header for doxygen 1.9.3-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen $doxygenversion"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
<!--BEGIN DISABLE_INDEX-->
<!--BEGIN FULL_SIDEBAR-->
<script type="text/javascript">var page_layout=1;</script>
<!--END FULL_SIDEBAR-->
<!--END DISABLE_INDEX-->
<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
<script type="text/javascript" src="$relpath^doxygen-awesome-darkmode-toggle.js"></script>
</head>
<body>
<!--BEGIN DISABLE_INDEX-->
<!--BEGIN FULL_SIDEBAR-->
<div id="side-nav" class="ui-resizable side-nav-resizable"><!-- do not remove this div, it is closed by doxygen! -->
<!--END FULL_SIDEBAR-->
<!--END DISABLE_INDEX-->
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<!--BEGIN TITLEAREA-->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<!--BEGIN PROJECT_LOGO-->
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></td>
<!--END PROJECT_LOGO-->
<!--BEGIN PROJECT_NAME-->
<td id="projectalign">
<div id="projectname">$projectname<!--BEGIN PROJECT_NUMBER--><span id="projectnumber">&#160;$projectnumber</span><!--END PROJECT_NUMBER-->
</div>
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
</td>
<!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME-->
<!--BEGIN PROJECT_BRIEF-->
<td>
<div id="projectbrief">$projectbrief</div>
</td>
<!--END PROJECT_BRIEF-->
<!--END !PROJECT_NAME-->
<!--BEGIN DISABLE_INDEX-->
<!--BEGIN SEARCHENGINE-->
<!--BEGIN !FULL_SIDEBAR-->
<td>$searchbox</td>
<!--END !FULL_SIDEBAR-->
<!--END SEARCHENGINE-->
<!--END DISABLE_INDEX-->
</tr>
<!--BEGIN SEARCHENGINE-->
<!--BEGIN FULL_SIDEBAR-->
<tr><td colspan="2">$searchbox</td></tr>
<!--END FULL_SIDEBAR-->
<!--END SEARCHENGINE-->
</tbody>
</table>
</div>
<!--END TITLEAREA-->
<!-- end header part -->