Skip to content

Commit c753428

Browse files
committed
Initialize Docusaurus project and automated deployment setup
0 parents  commit c753428

23 files changed

Lines changed: 21160 additions & 0 deletions

.github/workflows/deploy.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Deploy Docusaurus to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [main]
6+
# Trigger from external repos (e.g. when LinuxAid docs change)
7+
repository_dispatch:
8+
types: [update-docs]
9+
# Allow manual trigger
10+
workflow_dispatch:
11+
12+
permissions:
13+
contents: read
14+
pages: write
15+
id-token: write
16+
17+
concurrency:
18+
group: pages
19+
cancel-in-progress: false
20+
21+
jobs:
22+
build:
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: Checkout repository with submodules
26+
uses: actions/checkout@v4
27+
with:
28+
submodules: recursive
29+
fetch-depth: 0
30+
31+
- name: Update submodule to latest target branch
32+
run: |
33+
git submodule update --remote --merge
34+
echo "Submodule updated to:"
35+
cd content && git log --oneline -1
36+
37+
- name: Setup Node.js
38+
uses: actions/setup-node@v4
39+
with:
40+
node-version: 22
41+
cache: npm
42+
43+
- name: Install dependencies
44+
run: npm ci
45+
46+
- name: Build website
47+
run: npm run build
48+
49+
- name: Upload Pages artifact
50+
uses: actions/upload-pages-artifact@v3
51+
with:
52+
path: build
53+
54+
deploy:
55+
needs: build
56+
runs-on: ubuntu-latest
57+
environment:
58+
name: github-pages
59+
url: ${{ steps.deployment.outputs.page_url }}
60+
steps:
61+
- name: Deploy to GitHub Pages
62+
id: deployment
63+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Dependencies
2+
node_modules/
3+
4+
# Build output
5+
build/
6+
.docusaurus/
7+
8+
# Environment
9+
.env
10+
.env.local
11+
.env.development.local
12+
.env.test.local
13+
.env.production.local
14+
15+
# macOS
16+
.DS_Store
17+
18+
# Editor
19+
.vscode/
20+
.idea/
21+
*.swp
22+
*.swo
23+
24+
# Debug logs
25+
npm-debug.log*
26+
yarn-debug.log*
27+
yarn-error.log*

.gitmodules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[submodule "content"]
2+
path = content
3+
url = https://github.com/Obmondo/LinuxAid.git
4+
branch = LinuxAidDocs

content

Submodule content added at 2df6d16

docusaurus.config.js

Lines changed: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
// @ts-check
2+
import { themes as prismThemes } from 'prism-react-renderer';
3+
import remarkGithubAdmonitionsToDirectives from 'remark-github-admonitions-to-directives';
4+
5+
/** @type {import('@docusaurus/types').Config} */
6+
const config = {
7+
title: 'LinuxAid',
8+
tagline: 'Manage Linux servers entirely using GitOps',
9+
favicon: 'img/brand/favicon.ico',
10+
11+
future: {
12+
v4: true,
13+
},
14+
15+
url: 'https://obmondo.github.io',
16+
baseUrl: '/LinuxAidDocs/',
17+
18+
organizationName: 'Obmondo',
19+
projectName: 'LinuxAidDocs',
20+
trailingSlash: false,
21+
22+
onBrokenLinks: 'warn',
23+
24+
i18n: {
25+
defaultLocale: 'en',
26+
locales: ['en'],
27+
},
28+
29+
headTags: [
30+
{
31+
tagName: 'link',
32+
attributes: {
33+
rel: 'preconnect',
34+
href: 'https://fonts.googleapis.com',
35+
},
36+
},
37+
{
38+
tagName: 'link',
39+
attributes: {
40+
rel: 'preconnect',
41+
href: 'https://fonts.gstatic.com',
42+
crossorigin: 'anonymous',
43+
},
44+
},
45+
{
46+
tagName: 'link',
47+
attributes: {
48+
rel: 'stylesheet',
49+
href: 'https://fonts.googleapis.com/css2?family=Red+Hat+Text:ital,wght@0,300..700;1,300..700&display=swap',
50+
},
51+
},
52+
{
53+
tagName: 'link',
54+
attributes: {
55+
rel: 'stylesheet',
56+
href: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap',
57+
},
58+
},
59+
],
60+
61+
markdown: {
62+
format: 'detect',
63+
mermaid: true,
64+
hooks: {
65+
onBrokenMarkdownLinks: 'warn',
66+
},
67+
},
68+
69+
themes: [
70+
'@docusaurus/theme-mermaid',
71+
[
72+
'@easyops-cn/docusaurus-search-local',
73+
/** @type {import("@easyops-cn/docusaurus-search-local").PluginOptions} */
74+
({
75+
hashed: true,
76+
docsRouteBasePath: '/',
77+
indexBlog: false,
78+
highlightSearchTermsOnTargetPage: true,
79+
}),
80+
],
81+
],
82+
83+
presets: [
84+
[
85+
'classic',
86+
/** @type {import('@docusaurus/preset-classic').Options} */
87+
({
88+
docs: {
89+
path: './content/docs',
90+
routeBasePath: '/',
91+
sidebarPath: './sidebars.js',
92+
editUrl: 'https://github.com/Obmondo/LinuxAid/tree/main/',
93+
beforeDefaultRemarkPlugins: [remarkGithubAdmonitionsToDirectives],
94+
},
95+
blog: false,
96+
theme: {
97+
customCss: './src/css/custom.css',
98+
},
99+
}),
100+
],
101+
],
102+
103+
themeConfig:
104+
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
105+
({
106+
image: 'https://obmondo.github.io/LinuxAidDocs/img/brand/logo_light.png',
107+
colorMode: {
108+
defaultMode: 'light',
109+
disableSwitch: false,
110+
respectPrefersColorScheme: false,
111+
},
112+
navbar: {
113+
title: '',
114+
logo: {
115+
alt: 'LinuxAid Logo',
116+
src: 'img/brand/logo_light.png',
117+
srcDark: 'img/brand/logo_dark.png',
118+
},
119+
items: [
120+
{
121+
type: 'docSidebar',
122+
sidebarId: 'docsSidebar',
123+
position: 'left',
124+
label: 'Documentation',
125+
},
126+
{
127+
type: 'search',
128+
position: 'right',
129+
},
130+
{
131+
href: 'https://github.com/Obmondo/LinuxAid',
132+
label: 'GitHub',
133+
position: 'right',
134+
},
135+
{
136+
href: 'https://obmondo.com/services',
137+
label: 'Enterprise Support',
138+
position: 'right',
139+
},
140+
{
141+
href: 'https://obmondo.com',
142+
label: 'Obmondo',
143+
position: 'right',
144+
},
145+
],
146+
},
147+
footer: {
148+
style: 'dark',
149+
copyright: `<div class="footer-brand">
150+
<a href="/LinuxAidDocs/" class="footer-brand-link">
151+
<img src="/LinuxAidDocs/img/brand/logo_dark.png" alt="LinuxAid" class="footer-brand-logo" />
152+
</a>
153+
<span class="footer-brand-sep">by</span>
154+
<a href="https://obmondo.com" target="_blank" rel="noopener noreferrer" class="footer-brand-link">
155+
<img src="/LinuxAidDocs/img/brand/obmondo_logo_dark.png" alt="Obmondo" class="footer-brand-logo" />
156+
</a>
157+
</div>
158+
<div class="footer-social-icons">
159+
<a href="https://github.com/Obmondo/LinuxAid" target="_blank" rel="noopener noreferrer" class="footer-social-link">
160+
<svg class="social-icon" fill="currentColor" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg>
161+
</a>
162+
<a href="https://linkedin.com/company/obmondo" target="_blank" rel="noopener noreferrer" class="footer-social-link">
163+
<svg class="social-icon" fill="currentColor" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><title>LinkedIn</title><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg>
164+
</a>
165+
<a href="https://x.com/Obmondo" target="_blank" rel="noopener noreferrer" class="footer-social-link">
166+
<svg class="social-icon" fill="currentColor" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>X</title><path d="M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z"/></svg>
167+
</a>
168+
<a href="https://bsky.app/profile/obmondo.bsky.social" target="_blank" rel="noopener noreferrer" class="footer-social-link">
169+
<svg class="social-icon" fill="currentColor" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Bluesky</title><path d="M5.202 2.857C7.954 4.922 10.913 9.11 12 11.358c1.087-2.247 4.046-6.436 6.798-8.501C20.783 1.366 24 .213 24 3.883c0 .732-.42 6.156-.667 7.037-.856 3.061-3.978 3.842-6.755 3.37 4.854.826 6.089 3.562 3.422 6.299-5.065 5.196-7.28-1.304-7.847-2.97-.104-.305-.152-.448-.153-.327 0-.121-.05.022-.153.327-.568 1.666-2.782 8.166-7.847 2.97-2.667-2.737-1.432-5.473 3.422-6.3-2.777.473-5.899-.308-6.755-3.369C.42 10.04 0 4.615 0 3.883c0-3.67 3.217-2.517 5.202-1.026"/></svg>
170+
</a>
171+
<a href="https://fosstodon.org/@obmondo" target="_blank" rel="noopener noreferrer" class="footer-social-link">
172+
<svg class="social-icon" fill="currentColor" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Mastodon</title><path d="M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z"/></svg>
173+
</a>
174+
</div>`,
175+
},
176+
prism: {
177+
theme: prismThemes.github,
178+
darkTheme: prismThemes.dracula,
179+
additionalLanguages: ['bash', 'yaml', 'json', 'hcl', 'diff', 'ruby', 'puppet'],
180+
},
181+
tableOfContents: {
182+
minHeadingLevel: 2,
183+
maxHeadingLevel: 4,
184+
},
185+
}),
186+
};
187+
188+
export default config;

0 commit comments

Comments
 (0)