Compare commits
10 Commits
ff8b6587f8
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 386ae49027 | |||
| d534cc2f05 | |||
| b0793486eb | |||
| 2bae3b820c | |||
| b33546eb26 | |||
| 671f527c84 | |||
| 29b76cbfed | |||
| 72d4745dae | |||
| e55fd8c4a1 | |||
| b2196e5998 |
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
||||
public/** filter=lfs diff=lfs merge=lfs -text
|
||||
12
Makefile
Normal file
12
Makefile
Normal file
@@ -0,0 +1,12 @@
|
||||
BUILD_DIR := public
|
||||
|
||||
.PHONEY: serve build clean
|
||||
|
||||
serve:
|
||||
hugo server -D
|
||||
|
||||
build:
|
||||
hugo --minify
|
||||
|
||||
clean:
|
||||
rm -r $(BUILD_DIR)
|
||||
40
assets/css/consent.css
Normal file
40
assets/css/consent.css
Normal file
@@ -0,0 +1,40 @@
|
||||
/* Banner container - default (desktop) */
|
||||
#cookie-consent-banner {
|
||||
display: none;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: #333;
|
||||
padding: 1rem;
|
||||
text-align: center;
|
||||
z-index: 9999;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.cookie-buttons {
|
||||
margin-top: 0.75rem;
|
||||
}
|
||||
|
||||
/* Mobile styles */
|
||||
@media screen and (max-width: 768px) {
|
||||
#cookie-consent-banner {
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
text-align: left;
|
||||
padding: 0.75px;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
#cookie-consent-banner .cookie-text {
|
||||
max-width: 70%;
|
||||
}
|
||||
|
||||
.cookie-buttons {
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "From Shankha, Daemonlord"
|
||||
---
|
||||
+++
|
||||
title = "From Shankha, Daemonlord"
|
||||
+++
|
||||
|
||||
The Daemon Lord is a being of profound observation, a scholar of both scientific principles and the world's deep-seated emotions. He seeks to understand the fundamental truths of existence by seeing, listening, and feeling the intricate tapestry of reality, transforming every phenomenon into a subject of study. In stark contrast, many greedy men defy this pursuit of knowledge. Driven by a lust for power and personal greatness, they reject scientific truth and embrace delusion. These individuals weave their own fantasies, inventing supreme beings and false narratives to control others and elevate themselves. They lie and manipulate, all to fill the empty cracks within their own human nature, seeking to satisfy a greed that can never be quenched.
|
||||
|
||||
9
content/ja/_index.md
Normal file
9
content/ja/_index.md
Normal file
@@ -0,0 +1,9 @@
|
||||
+++
|
||||
title = "魔王シャンカより"
|
||||
+++
|
||||
|
||||
魔王とは、深遠なる観察者であり、科学的原理と世界に深く根差した感情の双方を探求する学者である。あらゆる事象を研究対象としながら、現実の入り組んだ様相を見、聞き、感じることで、存在の根源的な真理を理解しようとするのだ。
|
||||
|
||||
それとは全く対照的に、多くの強欲な人間たちはこの知識の探求に抗う。権力への渇望と自らの偉大さへの執着に駆られ、彼らは科学的真理を拒絶し、妄想に身を委ねる。他者を支配し自らを高めるために、至高の存在や偽りの物語を創り上げ、自らの幻想を紡ぎ出すのだ。彼らが嘘をつき、人々を操るのは、決して満たされることのない強欲を満たし、自らの人間性に生じた空虚な亀裂を埋めるためなのである。
|
||||
|
||||
最終的に、魔王は道徳ではなく、現実そのものを裁く物言わぬ審判者として存在する。彼の目的は支配や命令ではなく、ただ理解することにある。人間の野心と自己欺瞞の霧に覆われたこの世界にあって、彼こそは宇宙の真の姿を映し出す、揺るぎなきレンズなのである。
|
||||
52
hugo.toml
52
hugo.toml
@@ -1,7 +1,8 @@
|
||||
baseURL = 'https://example.org/'
|
||||
languageCode = 'en-us'
|
||||
baseURL = 'https://daemonlord.in/'
|
||||
title = 'Daemon Lord'
|
||||
theme = 'terminal'
|
||||
defaultContentLanguage = "en"
|
||||
defaultContentLanguageInSubdir = true
|
||||
copyright = "© 2025 Daemonlord"
|
||||
|
||||
[params]
|
||||
@@ -17,6 +18,8 @@ copyright = "© 2025 Daemonlord"
|
||||
[languages.en]
|
||||
languageName = 'English'
|
||||
title = "Daemonlord"
|
||||
weight = 1
|
||||
contentDir = 'content/en'
|
||||
|
||||
[languages.en.params]
|
||||
menuMore = 'Show more'
|
||||
@@ -24,17 +27,56 @@ copyright = "© 2025 Daemonlord"
|
||||
|
||||
[languages.en.params.logo]
|
||||
logoText = 'Daemon Lord'
|
||||
logoHomeLink = '/'
|
||||
logoHomeLink = '/en/'
|
||||
|
||||
[languages.en.menu]
|
||||
[[languages.en.menu.main]]
|
||||
identifier = 'home'
|
||||
name = 'Home'
|
||||
url = '/'
|
||||
url = '/en/'
|
||||
weight = 1
|
||||
|
||||
[[languages.en.menu.main]]
|
||||
identifier = 'support'
|
||||
name = 'Buy Me a Coffee'
|
||||
url = '#'
|
||||
weight = 99
|
||||
|
||||
# [[languages.en.menu.main]]
|
||||
# identifier = 'posts'
|
||||
# name = 'Posts'
|
||||
# url = '/posts'
|
||||
# url = '/en/posts'
|
||||
# weight = 2
|
||||
|
||||
[languages.ja]
|
||||
languageName = '日本語 '
|
||||
title = 'デーモンロード'
|
||||
weight = 1
|
||||
contentDir = 'content/ja'
|
||||
|
||||
[languages.ja.params]
|
||||
menuMore = 'もっと見る'
|
||||
readMore = '続きを読む'
|
||||
|
||||
[languages.ja.params.logo]
|
||||
logoText = 'デーモンロード'
|
||||
logoHomeLink = '/ja/'
|
||||
|
||||
[languages.ja.menu]
|
||||
[[languages.ja.menu.main]]
|
||||
identifier = 'home'
|
||||
name = 'ホーム'
|
||||
url = '/ja/'
|
||||
weight = 1
|
||||
|
||||
[[languages.ja.menu.main]]
|
||||
identifier = 'support'
|
||||
name = 'コーヒーを奢る'
|
||||
url = '#'
|
||||
weight = 99
|
||||
|
||||
# [[languages.ja.menu.main]]
|
||||
# identifier = 'posts'
|
||||
# name = '投稿'
|
||||
# url = '/ja/posts'
|
||||
# weight = 2
|
||||
|
||||
28
layouts/partials/extended_footer.html
Normal file
28
layouts/partials/extended_footer.html
Normal file
@@ -0,0 +1,28 @@
|
||||
<script data-name="BMC-Widget"
|
||||
data-cfasync="false"
|
||||
src="https://cdnjs.buymeacoffee.com/1.0.0/widget.prod.min.js"
|
||||
data-id="daemonlord"
|
||||
data-description="Support me on Buy me a coffee!"
|
||||
data-message="Thanks for Visiting!"
|
||||
data-color="#eec35e"
|
||||
data-position="Right"
|
||||
data-x_margin="18"
|
||||
data-y_margin="18">
|
||||
</script>
|
||||
|
||||
<script>
|
||||
function openBMCWidget() {
|
||||
const container = document.getElementById('bmc-wbtn');
|
||||
if (container) container.click();
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const supportLinks = document.querySelectorAll('a[data-identifier="support"]');
|
||||
supportLinks.forEach(link => {
|
||||
link.addEventListener('click', (e) => {
|
||||
e.preventDefault();
|
||||
openBMCWidget();
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
54
layouts/partials/extended_head.html
Normal file
54
layouts/partials/extended_head.html
Normal file
@@ -0,0 +1,54 @@
|
||||
<!-- Cookie Consent Banner -->
|
||||
<div id="cookie-consent-banner" style="display:none;">
|
||||
<div class="cookie-text">
|
||||
We use cookies and analytics to improve your experience.
|
||||
</div>
|
||||
<div class="cookie-buttons">
|
||||
<button id="accept-cookies">Accept</button>
|
||||
<button id="reject-cookies">Reject</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
const banner = document.getElementById('cookie-consent-banner');
|
||||
const accepted = localStorage.getItem('cookies-accepted');
|
||||
|
||||
// Show banner if no decision yet
|
||||
if (!accepted) {
|
||||
banner.style.display = 'block';
|
||||
} else if (accepted === 'true') {
|
||||
loadGoogleAnalytics();
|
||||
}
|
||||
|
||||
// Accept cookies
|
||||
document.getElementById('accept-cookies').addEventListener('click', function() {
|
||||
localStorage.setItem('cookies-accepted', 'true');
|
||||
banner.style.display = 'none';
|
||||
loadGoogleAnalytics();
|
||||
});
|
||||
|
||||
// Reject cookies
|
||||
document.getElementById('reject-cookies').addEventListener('click', function() {
|
||||
localStorage.setItem('cookies-accepted', 'false');
|
||||
banner.style.display = 'none';
|
||||
});
|
||||
});
|
||||
|
||||
// Function to load GA after consent
|
||||
function loadGoogleAnalytics() {
|
||||
if (!document.getElementById('ga-script')) {
|
||||
const script = document.createElement('script');
|
||||
script.id = 'ga-script';
|
||||
script.async = true;
|
||||
script.src = "https://www.googletagmanager.com/gtag/js?id=G-JFCYXHXCN1";
|
||||
document.head.appendChild(script);
|
||||
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-JFCYXHXCN1');
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
51
layouts/partials/menu.html
Normal file
51
layouts/partials/menu.html
Normal file
@@ -0,0 +1,51 @@
|
||||
<nav class="navigation-menu">
|
||||
<ul class="navigation-menu__inner menu--desktop">
|
||||
{{ if or $.Site.Params.showMenuItems ( eq .Site.Params.showMenuItems 0 ) }}
|
||||
{{ range first $.Site.Params.showMenuItems $.Site.Menus.main }}
|
||||
{{ if not .HasChildren }}
|
||||
<li>
|
||||
<a href="{{ .URL }}"
|
||||
{{ if .Params.NewTab -}} target="_blank" {{- end }}
|
||||
{{ with .Identifier }}data-identifier="{{ . }}"{{ end }}>
|
||||
{{ .Name }}
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if gt (len $.Site.Menus.main) $.Site.Params.showMenuItems }}
|
||||
<li>
|
||||
<ul class="menu">
|
||||
<li class="menu__trigger">{{ $.Site.Params.menuMore }} ▾</li>
|
||||
<li>
|
||||
<ul class="menu__dropdown">
|
||||
{{ range last (sub (len $.Site.Menus.main) $.Site.Params.showMenuItems) $.Site.Menus.main }}
|
||||
{{ if not .HasChildren }}
|
||||
<li>
|
||||
<a href="{{ .URL }}"
|
||||
{{ if .Params.NewTab -}} target="_blank" {{- end }}
|
||||
{{ with .Identifier }}data-identifier="{{ . }}"{{ end }}>
|
||||
{{ .Name }}
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{ range $.Site.Menus.main }}
|
||||
{{ if not .HasChildren }}
|
||||
<li>
|
||||
<a href="{{ .URL }}"
|
||||
{{ if .Params.NewTab -}} target="_blank" {{- end }}
|
||||
{{ with .Identifier }}data-identifier="{{ . }}"{{ end }}>
|
||||
{{ .Name }}
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
</nav>
|
||||
25
layouts/partials/mobile-menu.html
Normal file
25
layouts/partials/mobile-menu.html
Normal file
@@ -0,0 +1,25 @@
|
||||
<ul class="menu menu--mobile">
|
||||
<li class="menu__trigger">Menu ▾</li>
|
||||
<li>
|
||||
<ul class="menu__dropdown">
|
||||
{{ range $.Site.Menus.main }}
|
||||
{{ if not .HasChildren }}
|
||||
<li>
|
||||
<a href="{{ .URL }}"
|
||||
{{ with .Identifier }}data-identifier="{{ . }}"{{ end }}>
|
||||
{{ .Name }}
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if and $.Site.Params.showLanguageSelector (len $.Site.Home.AllTranslations) }}
|
||||
<hr />
|
||||
{{ range $.Site.Home.AllTranslations }}
|
||||
<li>
|
||||
<a href="{{ .Permalink }}">{{ .Language.LanguageName }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
Reference in New Issue
Block a user