mirror of
https://github.com/infinition/Bjorn.git
synced 2026-03-09 06:01:59 +00:00
Compare commits
6 Commits
57d4b5b540
...
3f27da4a1e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3f27da4a1e | ||
|
|
124afb9be9 | ||
|
|
686263ca6a | ||
|
|
b94dacc563 | ||
|
|
151483c703 | ||
|
|
695cf6671b |
4
.well-known/security.txt
Normal file
4
.well-known/security.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
Contact: https://github.com/infinition/Bjorn/issues
|
||||
Expires: 2027-01-01T00:00:00.000Z
|
||||
Preferred-Languages: en, fr
|
||||
Policy: https://github.com/infinition/Bjorn/blob/wiki/SECURITY.md
|
||||
12
config.js
12
config.js
@@ -12,13 +12,13 @@ const CONFIG = {
|
||||
// type: "github" (automatic from API) or "local" (manual)
|
||||
versioning: {
|
||||
type: "github",
|
||||
manualVersion: "v1.0.0",
|
||||
manualVersion: "v1.0.11",
|
||||
manualDate: "2026-01-21"
|
||||
},
|
||||
|
||||
// GitHub Repository (for version checking when type is "github")
|
||||
// Format: "username/repo"
|
||||
repo: "Bjorn/Bjorn",
|
||||
repo: "infinition/Bjorn",
|
||||
branch: "wiki",
|
||||
|
||||
// Theme Settings
|
||||
@@ -50,7 +50,8 @@ const CONFIG = {
|
||||
showSocialBadges: true,
|
||||
showThemeToggle: true,
|
||||
pageTransitions: true,
|
||||
autoCollapseSidebar: false
|
||||
autoCollapseSidebar: false,
|
||||
stickyBreadcrumbs: true
|
||||
},
|
||||
|
||||
// Custom Navigation Links
|
||||
@@ -91,6 +92,11 @@ const CONFIG = {
|
||||
logoPath: "assets/bjorn.png",
|
||||
logoPlaceholder: "https://placehold.co/40x40/111214/22c55e?text=A",
|
||||
|
||||
// PWA & SEO Settings
|
||||
themeColor: "#0B0C0E",
|
||||
accentColor: "#22c55e",
|
||||
manifestPath: "manifest.json",
|
||||
|
||||
// Social Links
|
||||
// Set to null or empty string to hide the link
|
||||
social: {
|
||||
|
||||
1000
index.html
1000
index.html
File diff suppressed because it is too large
Load Diff
35
manifest.json
Normal file
35
manifest.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "BJORN WIKI",
|
||||
"short_name": "BjornWiki",
|
||||
"description": "Official Documentation and Wiki for BJORN Cyber Viking",
|
||||
"start_url": "./index.html",
|
||||
"display": "standalone",
|
||||
"background_color": "#0B0C0E",
|
||||
"theme_color": "#22c55e",
|
||||
"orientation": "any",
|
||||
"icons": [
|
||||
{
|
||||
"src": "assets/bjorn.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "any maskable"
|
||||
},
|
||||
{
|
||||
"src": "assets/bjorn.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png"
|
||||
}
|
||||
],
|
||||
"shortcuts": [
|
||||
{
|
||||
"name": "Search Wiki",
|
||||
"url": "./index.html?search=true",
|
||||
"icons": [
|
||||
{
|
||||
"src": "assets/bjorn.png",
|
||||
"sizes": "192x192"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
5
robots.txt
Normal file
5
robots.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
User-agent: *
|
||||
Allow: /
|
||||
|
||||
# Sitemaps (Optionnel, à mettre à jour avec votre URL réelle)
|
||||
# Sitemap: https://votre-url-wiki.com/sitemap.xml
|
||||
4
security.txt
Normal file
4
security.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
Contact: https://github.com/infinition/Bjorn/issues
|
||||
Expires: 2027-01-01T00:00:00.000Z
|
||||
Preferred-Languages: en, fr
|
||||
Policy: https://github.com/infinition/Bjorn/blob/wiki/SECURITY.md
|
||||
69
sw.js
Normal file
69
sw.js
Normal file
@@ -0,0 +1,69 @@
|
||||
const CACHE_NAME = 'bjorn-wiki-v2';
|
||||
const STATIC_ASSETS = [
|
||||
'./',
|
||||
'./index.html',
|
||||
'./config.js',
|
||||
'./manifest.json',
|
||||
'./assets/bjorn.png',
|
||||
'https://cdn.tailwindcss.com',
|
||||
'https://unpkg.com/lucide@latest',
|
||||
'https://cdn.jsdelivr.net/npm/marked/marked.min.js',
|
||||
'https://cdnjs.cloudflare.com/ajax/libs/dompurify/3.0.6/purify.min.js',
|
||||
'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-dark.min.css',
|
||||
'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js',
|
||||
'https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Inter:wght@400;500;600&display=swap'
|
||||
];
|
||||
|
||||
// Install Event - Cache Static Assets
|
||||
self.addEventListener('install', (event) => {
|
||||
event.waitUntil(
|
||||
caches.open(CACHE_NAME).then((cache) => {
|
||||
console.log('[SW] Caching static assets');
|
||||
return cache.addAll(STATIC_ASSETS);
|
||||
})
|
||||
);
|
||||
self.skipWaiting();
|
||||
});
|
||||
|
||||
// Activate Event - Clean up old caches
|
||||
self.addEventListener('activate', (event) => {
|
||||
event.waitUntil(
|
||||
caches.keys().then((cacheNames) => {
|
||||
return Promise.all(
|
||||
cacheNames.map((cacheName) => {
|
||||
if (cacheName !== CACHE_NAME) {
|
||||
console.log('[SW] Deleting old cache:', cacheName);
|
||||
return caches.delete(cacheName);
|
||||
}
|
||||
})
|
||||
);
|
||||
})
|
||||
);
|
||||
self.clients.claim();
|
||||
});
|
||||
|
||||
// Fetch Event - Stale-While-Revalidate Strategy
|
||||
self.addEventListener('fetch', (event) => {
|
||||
// Skip non-GET requests
|
||||
if (event.request.method !== 'GET') return;
|
||||
|
||||
// Strategy: Stale-While-Revalidate for most assets
|
||||
event.respondWith(
|
||||
caches.open(CACHE_NAME).then((cache) => {
|
||||
return cache.match(event.request).then((response) => {
|
||||
const fetchPromise = fetch(event.request).then((networkResponse) => {
|
||||
// Cache the new response
|
||||
if (networkResponse.ok) {
|
||||
cache.put(event.request, networkResponse.clone());
|
||||
}
|
||||
return networkResponse;
|
||||
}).catch(() => {
|
||||
// If network fails, we already returned the cached response if it exists
|
||||
});
|
||||
|
||||
return response || fetchPromise;
|
||||
});
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
1
wiki/02_Setup/Sub_Installation.md
Normal file
1
wiki/02_Setup/Sub_Installation.md
Normal file
@@ -0,0 +1 @@
|
||||
# Test1
|
||||
1
wiki/02_Setup/Sub_Sub_Installation.md
Normal file
1
wiki/02_Setup/Sub_Sub_Installation.md
Normal file
@@ -0,0 +1 @@
|
||||
# Test1
|
||||
72
wiki/03_Test_CSS/Long_Page.md
Normal file
72
wiki/03_Test_CSS/Long_Page.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# Long Page Test CSS
|
||||
|
||||
This page is designed to test the CSS rendering of various markdown elements, especially headings and long content.
|
||||
|
||||
## Level 2 Heading
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
||||
|
||||
### Level 3 Heading
|
||||
|
||||
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
||||
|
||||
#### Level 4 Heading
|
||||
|
||||
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
|
||||
|
||||
##### Level 5 Heading
|
||||
|
||||
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
|
||||
###### Level 6 Heading
|
||||
|
||||
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.
|
||||
|
||||
## Lists and Formatting
|
||||
|
||||
### Unordered List
|
||||
- Item 1
|
||||
- Item 2
|
||||
- Sub-item 2.1
|
||||
- Sub-item 2.2
|
||||
- Item 3
|
||||
|
||||
### Ordered List
|
||||
1. First item
|
||||
2. Second item
|
||||
3. Third item
|
||||
|
||||
### Blockquotes
|
||||
|
||||
> This is a blockquote.
|
||||
> It can span multiple lines.
|
||||
> -- Someone Famous
|
||||
|
||||
### Code Blocks
|
||||
|
||||
```javascript
|
||||
function helloWorld() {
|
||||
console.log("Hello, world!");
|
||||
}
|
||||
```
|
||||
|
||||
Inline code: `const x = 10;`
|
||||
|
||||
### Tables
|
||||
|
||||
| Header 1 | Header 2 | Header 3 |
|
||||
|----------|----------|----------|
|
||||
| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 |
|
||||
| Row 2 Col 1 | Row 2 Col 2 | Row 2 Col 3 |
|
||||
|
||||
## More Content to Test Scrolling
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia ac.
|
||||
|
||||
### Another H3
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.
|
||||
|
||||
#### Another H4
|
||||
|
||||
Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.
|
||||
7
wiki/03_Test_CSS/Sub_Category/Sub_Page.md
Normal file
7
wiki/03_Test_CSS/Sub_Category/Sub_Page.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Sub Page
|
||||
|
||||
This is a sub page located in a sub-category to test nested navigation.
|
||||
|
||||
## Content
|
||||
|
||||
Testing nested sidebar levels.
|
||||
@@ -0,0 +1,7 @@
|
||||
# Sub Sub Page
|
||||
|
||||
This is a sub-sub page located in a sub-sub-category to test deep nested navigation.
|
||||
|
||||
## Content
|
||||
|
||||
Testing deep nested sidebar levels (3 levels deep).
|
||||
@@ -4,5 +4,14 @@
|
||||
},
|
||||
"02_Setup": {
|
||||
"Installation": "Installation.md"
|
||||
},
|
||||
"03_Test_CSS": {
|
||||
"Long Page": "Long_Page.md",
|
||||
"Sub_Category": {
|
||||
"Sub Page": "Sub_Page.md",
|
||||
"Sub_Sub_Category": {
|
||||
"Sub Sub Page": "Sub_Sub_Page.md"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user