mirror of
https://github.com/RedWizardsLab/EchoHub.git
synced 2026-09-04 08:36:11 +02:00
feat: Add changelog and update documentation structure with new styles and assets
This commit is contained in:
@@ -0,0 +1,7 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
Release history for EchoHub.
|
||||||
|
|
||||||
|
## Releases
|
||||||
|
|
||||||
|
- [v0.1.0](v0.1.0.md) - Initial Release
|
||||||
@@ -1,2 +1,4 @@
|
|||||||
|
- name: Overview
|
||||||
|
href: index.md
|
||||||
- name: v0.1.0
|
- name: v0.1.0
|
||||||
href: v0.1.0.md
|
href: v0.1.0.md
|
||||||
|
|||||||
+16
-17
@@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"$schema": "https://raw.githubusercontent.com/dotnet/docfx/main/schemas/docfx.schema.json",
|
||||||
"metadata": [
|
"metadata": [
|
||||||
{
|
{
|
||||||
"src": [
|
"src": [
|
||||||
@@ -7,7 +8,8 @@
|
|||||||
"files": ["EchoHub.Core.dll"]
|
"files": ["EchoHub.Core.dll"]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dest": "api/core"
|
"dest": "api/core",
|
||||||
|
"filter": "filterConfig.yml"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"src": [
|
"src": [
|
||||||
@@ -16,7 +18,8 @@
|
|||||||
"files": ["EchoHub.Server.dll"]
|
"files": ["EchoHub.Server.dll"]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dest": "api/server"
|
"dest": "api/server",
|
||||||
|
"filter": "filterConfig.yml"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"src": [
|
"src": [
|
||||||
@@ -25,40 +28,36 @@
|
|||||||
"files": ["EchoHub.Client.dll"]
|
"files": ["EchoHub.Client.dll"]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dest": "api/client"
|
"dest": "api/client",
|
||||||
|
"filter": "filterConfig.yml"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"build": {
|
"build": {
|
||||||
"content": [
|
"content": [
|
||||||
{
|
{
|
||||||
"files": [
|
"files": ["**/*.{md,yml}"],
|
||||||
"**/*.{md,yml}"
|
"exclude": ["_site/**", "_temp/**"]
|
||||||
],
|
|
||||||
"exclude": [
|
|
||||||
"_site/**"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resource": [
|
"resource": [
|
||||||
{
|
{
|
||||||
"files": [
|
"files": ["images/**"]
|
||||||
"images/**"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"output": "_site",
|
"output": "_site",
|
||||||
"template": [
|
"template": ["default", "modern", "templates/echohub"],
|
||||||
"default",
|
|
||||||
"modern"
|
|
||||||
],
|
|
||||||
"globalMetadata": {
|
"globalMetadata": {
|
||||||
"_appName": "EchoHub",
|
"_appName": "EchoHub",
|
||||||
"_appTitle": "EchoHub Documentation",
|
"_appTitle": "EchoHub Documentation",
|
||||||
|
"_appLogoPath": "images/hue_icon.svg",
|
||||||
|
"_appFaviconPath": "images/hue_icon.svg",
|
||||||
|
"_appFooter": "<div class='footer-custom'><div class='footer-inner'><span class='footer-brand'>EchoHub</span><span class='footer-sep'>·</span><a href='https://github.com/HueByte/EchoHub'>GitHub</a><span class='footer-sep'>·</span><a href='https://echohub.voidcube.cloud'>Website</a><span class='footer-sep'>·</span><span class='footer-credit'>Built with <a href='https://dotnet.github.io/docfx'>DocFX</a></span></div></div>",
|
||||||
"_enableSearch": true,
|
"_enableSearch": true,
|
||||||
"_disableContribution": false,
|
"_disableContribution": false,
|
||||||
"_gitContribute": {
|
"_gitContribute": {
|
||||||
"repo": "https://github.com/HueByte/EchoHub",
|
"repo": "https://github.com/HueByte/EchoHub",
|
||||||
"branch": "master"
|
"branch": "master",
|
||||||
|
"path": "docs"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"markdownEngineName": "markdig"
|
"markdownEngineName": "markdig"
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
apiRules:
|
||||||
|
- exclude:
|
||||||
|
uidRegex: ^System\.
|
||||||
|
type: Namespace
|
||||||
|
- exclude:
|
||||||
|
uidRegex: ^Microsoft\.
|
||||||
|
type: Namespace
|
||||||
|
- exclude:
|
||||||
|
uidRegex: \.Program$
|
||||||
|
type: Type
|
||||||
|
- exclude:
|
||||||
|
uidRegex: \.Startup$
|
||||||
|
type: Type
|
||||||
|
- include:
|
||||||
|
uidRegex: ^EchoHub\.
|
||||||
|
type: Namespace
|
||||||
|
- include:
|
||||||
|
uidRegex: ^EchoHub\.
|
||||||
|
type: Type
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<svg width="800" height="800" viewBox="0 0 1000 1000" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g stroke="#E6C06E" stroke-width="28" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<circle cx="500" cy="500" r="420" />
|
||||||
|
<circle cx="500" cy="500" r="180" />
|
||||||
|
<polygon points="500,440 550,532 450,532" fill="#E6C06E" />
|
||||||
|
<line x1="500" y1="80" x2="500" y2="320" />
|
||||||
|
<circle cx="285" cy="390" r="8" fill="#E6C06E" />
|
||||||
|
<circle cx="715" cy="390" r="8" fill="#E6C06E" />
|
||||||
|
<circle cx="500" cy="750" r="8" fill="#E6C06E" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 592 B |
+1
-1
@@ -11,4 +11,4 @@ Welcome to the EchoHub documentation. EchoHub is a decentralized, IRC-like chat
|
|||||||
- [Getting Started](articles/getting-started.md) - Set up and run EchoHub
|
- [Getting Started](articles/getting-started.md) - Set up and run EchoHub
|
||||||
- [Architecture](articles/architecture.md) - Understand the system design
|
- [Architecture](articles/architecture.md) - Understand the system design
|
||||||
- [API Reference](api/index.md) - Generated C# API documentation
|
- [API Reference](api/index.md) - Generated C# API documentation
|
||||||
- [Changelog](changelog/v0.1.0.md) - Release history
|
- [Changelog](changelog/index.md) - Release history
|
||||||
|
|||||||
+392
@@ -0,0 +1,392 @@
|
|||||||
|
/* ============================================================
|
||||||
|
EchoHub DocFX Theme
|
||||||
|
Dark theme with gold accent (#E6C06E) from the Hue sigil
|
||||||
|
============================================================ */
|
||||||
|
|
||||||
|
:root,
|
||||||
|
html {
|
||||||
|
color-scheme: dark;
|
||||||
|
}
|
||||||
|
|
||||||
|
html:not([data-bs-theme]) {
|
||||||
|
--bs-body-bg: #0d1117;
|
||||||
|
--bs-body-color: #e6edf3;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-bs-theme="dark"] {
|
||||||
|
--bs-body-bg: #0d1117;
|
||||||
|
--bs-body-color: #e6edf3;
|
||||||
|
--bs-emphasis-color: #ffffff;
|
||||||
|
--bs-secondary-color: rgba(230, 237, 243, 0.7);
|
||||||
|
--bs-secondary-bg: #161b22;
|
||||||
|
--bs-tertiary-bg: #1c2128;
|
||||||
|
--bs-border-color: #30363d;
|
||||||
|
--bs-link-color: #E6C06E;
|
||||||
|
--bs-link-hover-color: #f0d48a;
|
||||||
|
--bs-code-color: #e6c06e;
|
||||||
|
--bs-primary-rgb: 230, 192, 110;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Navbar --- */
|
||||||
|
.navbar,
|
||||||
|
header.top-navbar {
|
||||||
|
background: #0d1117 !important;
|
||||||
|
border-bottom: 1px solid #30363d !important;
|
||||||
|
box-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar .navbar-brand {
|
||||||
|
color: #E6C06E !important;
|
||||||
|
font-weight: 600;
|
||||||
|
letter-spacing: 0.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar .navbar-brand:hover {
|
||||||
|
color: #f0d48a !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar .navbar-brand img,
|
||||||
|
.navbar .navbar-brand svg {
|
||||||
|
height: 28px;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar .nav-link {
|
||||||
|
color: #8b949e !important;
|
||||||
|
font-weight: 500;
|
||||||
|
transition: color 0.2s ease;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar .nav-link:hover,
|
||||||
|
.navbar .nav-link:focus {
|
||||||
|
color: #E6C06E !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar .nav-link.active {
|
||||||
|
color: #E6C06E !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar .nav-link.active::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
width: 60%;
|
||||||
|
height: 2px;
|
||||||
|
background: #E6C06E;
|
||||||
|
border-radius: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Sidebar / TOC --- */
|
||||||
|
.toc {
|
||||||
|
background: transparent;
|
||||||
|
border-right: 1px solid #30363d;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc .nav > li > a {
|
||||||
|
color: #8b949e;
|
||||||
|
padding: 6px 12px;
|
||||||
|
border-radius: 6px;
|
||||||
|
transition: all 0.2s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc .nav > li > a:hover {
|
||||||
|
color: #e6edf3;
|
||||||
|
background: rgba(230, 192, 110, 0.06);
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc .nav > li > a.active,
|
||||||
|
.toc .nav > li.active > a {
|
||||||
|
color: #E6C06E !important;
|
||||||
|
background: rgba(230, 192, 110, 0.1);
|
||||||
|
font-weight: 600;
|
||||||
|
border-left: 3px solid #E6C06E;
|
||||||
|
border-radius: 0 6px 6px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc .nav > li > .expand-stub::before {
|
||||||
|
color: #8b949e;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc .nav > li.level1 > a {
|
||||||
|
font-weight: 600;
|
||||||
|
color: #e6edf3;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
letter-spacing: 0.05em;
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Affix (right sidebar) --- */
|
||||||
|
.affix > h5,
|
||||||
|
.affix > nav > h5 {
|
||||||
|
color: #8b949e;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
letter-spacing: 0.05em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.affix ul > li > a {
|
||||||
|
color: #8b949e;
|
||||||
|
}
|
||||||
|
|
||||||
|
.affix ul > li > a:hover {
|
||||||
|
color: #E6C06E;
|
||||||
|
}
|
||||||
|
|
||||||
|
.affix ul > li > a.active {
|
||||||
|
color: #E6C06E;
|
||||||
|
border-left-color: #E6C06E;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Content --- */
|
||||||
|
article {
|
||||||
|
color: #e6edf3;
|
||||||
|
}
|
||||||
|
|
||||||
|
article h1,
|
||||||
|
article h2,
|
||||||
|
article h3,
|
||||||
|
article h4,
|
||||||
|
article h5,
|
||||||
|
article h6 {
|
||||||
|
color: #ffffff;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
article h1 {
|
||||||
|
border-bottom: 1px solid #30363d;
|
||||||
|
padding-bottom: 0.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
article h2 {
|
||||||
|
border-bottom: 1px solid #21262d;
|
||||||
|
padding-bottom: 0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
article a {
|
||||||
|
color: #E6C06E;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
article a:hover {
|
||||||
|
color: #f0d48a;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Code blocks --- */
|
||||||
|
[data-bs-theme="dark"] pre {
|
||||||
|
background: #161b22 !important;
|
||||||
|
border: 1px solid #30363d;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-bs-theme="dark"] code {
|
||||||
|
color: #e6c06e;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-bs-theme="dark"] pre code {
|
||||||
|
color: #e6edf3;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Tables --- */
|
||||||
|
.table,
|
||||||
|
table {
|
||||||
|
--bs-table-bg: transparent;
|
||||||
|
--bs-table-border-color: #30363d;
|
||||||
|
--bs-table-striped-bg: rgba(230, 192, 110, 0.03);
|
||||||
|
}
|
||||||
|
|
||||||
|
thead th {
|
||||||
|
background: #161b22 !important;
|
||||||
|
color: #e6edf3;
|
||||||
|
border-bottom-color: #E6C06E !important;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Alerts --- */
|
||||||
|
.alert-info {
|
||||||
|
background: rgba(56, 139, 253, 0.08);
|
||||||
|
border-color: rgba(56, 139, 253, 0.3);
|
||||||
|
color: #e6edf3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-warning {
|
||||||
|
background: rgba(230, 192, 110, 0.08);
|
||||||
|
border-color: rgba(230, 192, 110, 0.3);
|
||||||
|
color: #e6edf3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-danger {
|
||||||
|
background: rgba(248, 81, 73, 0.08);
|
||||||
|
border-color: rgba(248, 81, 73, 0.3);
|
||||||
|
color: #e6edf3;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Search --- */
|
||||||
|
input[type="search"],
|
||||||
|
.form-control {
|
||||||
|
background: #0d1117;
|
||||||
|
border-color: #30363d;
|
||||||
|
color: #e6edf3;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="search"]:focus,
|
||||||
|
.form-control:focus {
|
||||||
|
background: #161b22;
|
||||||
|
border-color: #E6C06E;
|
||||||
|
color: #e6edf3;
|
||||||
|
box-shadow: 0 0 0 3px rgba(230, 192, 110, 0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Breadcrumb --- */
|
||||||
|
.breadcrumb-item a {
|
||||||
|
color: #8b949e;
|
||||||
|
}
|
||||||
|
|
||||||
|
.breadcrumb-item a:hover {
|
||||||
|
color: #E6C06E;
|
||||||
|
}
|
||||||
|
|
||||||
|
.breadcrumb-item.active {
|
||||||
|
color: #e6edf3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.breadcrumb-item + .breadcrumb-item::before {
|
||||||
|
color: #484f58;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Buttons --- */
|
||||||
|
.btn-primary {
|
||||||
|
background: #E6C06E;
|
||||||
|
border-color: #E6C06E;
|
||||||
|
color: #0d1117;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary:hover {
|
||||||
|
background: #f0d48a;
|
||||||
|
border-color: #f0d48a;
|
||||||
|
color: #0d1117;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-outline-primary {
|
||||||
|
color: #E6C06E;
|
||||||
|
border-color: #E6C06E;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-outline-primary:hover {
|
||||||
|
background: #E6C06E;
|
||||||
|
color: #0d1117;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Footer --- */
|
||||||
|
footer {
|
||||||
|
background: #0d1117 !important;
|
||||||
|
border-top: 1px solid #30363d !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-custom {
|
||||||
|
text-align: center;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-inner {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 12px;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-brand {
|
||||||
|
color: #E6C06E;
|
||||||
|
font-weight: 600;
|
||||||
|
letter-spacing: 0.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-sep {
|
||||||
|
color: #484f58;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-custom a {
|
||||||
|
color: #8b949e;
|
||||||
|
text-decoration: none;
|
||||||
|
transition: color 0.2s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-custom a:hover {
|
||||||
|
color: #E6C06E;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-credit {
|
||||||
|
color: #484f58;
|
||||||
|
font-size: 0.85em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-credit a {
|
||||||
|
color: #6e7681;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-credit a:hover {
|
||||||
|
color: #E6C06E;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Scrollbar --- */
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-track {
|
||||||
|
background: #0d1117;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-thumb {
|
||||||
|
background: #30363d;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-thumb:hover {
|
||||||
|
background: #484f58;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Selection --- */
|
||||||
|
::selection {
|
||||||
|
background: rgba(230, 192, 110, 0.25);
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- API pages --- */
|
||||||
|
.memberList td {
|
||||||
|
border-color: #30363d;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inheritance .level0,
|
||||||
|
.inheritance .level1,
|
||||||
|
.inheritance .level2 {
|
||||||
|
color: #8b949e;
|
||||||
|
}
|
||||||
|
|
||||||
|
.xref {
|
||||||
|
color: #E6C06E;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Landing page --- */
|
||||||
|
.landing h1 {
|
||||||
|
color: #E6C06E;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Responsive --- */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.footer-inner {
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-sep {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
+3
-1
@@ -1,7 +1,9 @@
|
|||||||
- name: Articles
|
- name: Articles
|
||||||
href: articles/
|
href: articles/
|
||||||
|
homepage: articles/getting-started.md
|
||||||
- name: Changelog
|
- name: Changelog
|
||||||
href: changelog/
|
href: changelog/
|
||||||
- name: API Reference
|
homepage: changelog/index.md
|
||||||
|
- name: API
|
||||||
href: api/
|
href: api/
|
||||||
homepage: api/index.md
|
homepage: api/index.md
|
||||||
|
|||||||
Reference in New Issue
Block a user