Skip to content

Commit 23723d6

Browse files
authored
Add files via upload
1 parent fb0fad4 commit 23723d6

100 files changed

Lines changed: 10260 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1" />
6+
<meta name="author" content="Peter Hedlund" />
7+
<meta name="generator" content="Ignite v0.6.0" />
8+
<title>CloudNews 3.8.2 released</title>
9+
<link href="/css/bootstrap.min.css" rel="stylesheet" />
10+
<link href="/css/bootstrap-icons.min.css" rel="stylesheet" />
11+
<link href="/css/ignite-core.min.css" rel="stylesheet" />
12+
<link href="https://pbh.dev/2019-02-22-CloudNews-3-8-2" rel="canonical" />
13+
<link href="/favicon/favicon.ico" rel="icon" />
14+
<script>(function() {
15+
function getThemePreference() {
16+
return localStorage.getItem('custom-theme') || 'auto';
17+
}
18+
19+
function applyTheme(themeID) {
20+
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
21+
const lightThemeID = document.documentElement.getAttribute('data-light-theme') || 'light';
22+
const darkThemeID = document.documentElement.getAttribute('data-dark-theme') || 'dark';
23+
const actualThemeID = themeID === 'auto' ? (prefersDark ? darkThemeID : lightThemeID) : themeID;
24+
25+
document.documentElement.setAttribute('data-bs-theme', actualThemeID);
26+
document.documentElement.setAttribute('data-theme-state', themeID);
27+
}
28+
29+
function applySyntaxTheme() {
30+
const syntaxTheme = getComputedStyle(document.documentElement)
31+
.getPropertyValue('--syntax-highlight-theme').trim().replace(/"/g, '');
32+
33+
if (!syntaxTheme) return;
34+
35+
document.querySelectorAll('link[data-highlight-theme]').forEach(link => {
36+
link.setAttribute('disabled', 'disabled');
37+
});
38+
39+
const themeLink = document.querySelector(`link[data-highlight-theme="${syntaxTheme}"]`);
40+
if (themeLink) {
41+
themeLink.removeAttribute('disabled');
42+
}
43+
}
44+
45+
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', e => {
46+
const currentTheme = getThemePreference();
47+
if (currentTheme === 'auto') {
48+
applyTheme('auto');
49+
applySyntaxTheme();
50+
}
51+
});
52+
53+
const savedTheme = getThemePreference();
54+
applyTheme(savedTheme);
55+
applySyntaxTheme();
56+
})();
57+
</script>
58+
<meta property="og:site_name" content="PBH.dev" />
59+
<meta property="og:title" content="CloudNews 3.8.2 released" />
60+
<meta name="twitter:title" content="CloudNews 3.8.2 released" />
61+
<meta property="og:url" content="https://pbh.dev/2019-02-22-CloudNews-3-8-2" />
62+
<meta name="twitter:domain" content="pbh.dev" />
63+
<meta name="twitter:card" content="summary_large_image" />
64+
<meta name="twitter:dnt" content="on" />
65+
</head>
66+
<body class="container">
67+
<div class="fixed-top">
68+
<header>
69+
<nav class="navbar navbar-expand-md" style="border-bottom: 1.0px solid rgb(211 211 211 / 100%); background-color: rgb(255 255 255 / 85%)">
70+
<div class="container flex-wrap flex-lg-nowrap">
71+
<div class="me-2 me-md-auto">
72+
<a href="/home" class="d-inline-flex align-items-center navbar-brand" style="font-weight: 700">PBH.dev</a>
73+
</div>
74+
<button type="button" class="navbar-toggler btn" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
75+
<div id="navbarCollapse" class="collapse navbar-collapse">
76+
<ul class="navbar-nav mb-2 mb-md-0 col justify-content-end">
77+
<li class="nav-item"><a href="/home" class="nav-link text-nowrap">News</a></li>
78+
<li class="nav-item"><a href="/cloud-news" class="nav-link text-nowrap">CloudNews</a></li>
79+
<li class="nav-item"><a href="/cloud-notes" class="nav-link text-nowrap">CloudNotes</a></li>
80+
<li class="nav-item"><a href="/privacy" class="nav-link text-nowrap">Privacy</a></li>
81+
<li class="nav-item"><a href="/contact" class="nav-link text-nowrap">Contact</a></li>
82+
</ul>
83+
</div>
84+
</div>
85+
</nav>
86+
</header>
87+
</div>
88+
<div class="ig-main-content" style="padding-top: 90px; padding-bottom: 180px">
89+
<h1 class="text-center">CloudNews 3.8.2 released</h1>
90+
<p></p>
91+
</div>
92+
<div class="fixed-bottom">
93+
<div class="py-3 mt-5 vstack" style="border-top: 1.0px solid rgb(211 211 211 / 100%); background-color: rgb(255 255 255 / 85%)">
94+
<div class="fs-2 mb-0 align-self-center hstack gap-3">
95+
<a target="_blank" rel="noopener noreferrer" href="/feed.rss" class="mb-0 align-self-center link-secondary"><i class="bi-rss"></i></a>
96+
<a target="_blank" rel="noopener noreferrer" href="https://github.com/phedlund" class="mb-0 align-self-center link-secondary"><i class="bi-github"></i></a>
97+
<a target="_blank" rel="noopener noreferrer" href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=AXQCA3ZJU6TNS" class="mb-0 align-self-center link-secondary"><i class="bi-paypal"></i></a>
98+
</div>
99+
<p class="mb-0 align-self-center">Copyright © 2025 Peter B Hedlund</p>
100+
<p class="mb-0 align-self-center">Created in Swift with <a target="_blank" rel="noopener noreferrer" href="https://github.com/twostraws/Ignite" class="link-secondary">Ignite</a></p>
101+
</div>
102+
</div>
103+
<script src="/js/bootstrap.bundle.min.js"></script>
104+
<script src="/js/ignite-core.js"></script>
105+
</body>
106+
</html>
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1" />
6+
<meta name="author" content="Peter Hedlund" />
7+
<meta name="generator" content="Ignite v0.6.0" />
8+
<title>CloudNews 3.8.3 released</title>
9+
<link href="/css/bootstrap.min.css" rel="stylesheet" />
10+
<link href="/css/bootstrap-icons.min.css" rel="stylesheet" />
11+
<link href="/css/ignite-core.min.css" rel="stylesheet" />
12+
<link href="https://pbh.dev/2019-02-25-CloudNews-3-8-3" rel="canonical" />
13+
<link href="/favicon/favicon.ico" rel="icon" />
14+
<script>(function() {
15+
function getThemePreference() {
16+
return localStorage.getItem('custom-theme') || 'auto';
17+
}
18+
19+
function applyTheme(themeID) {
20+
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
21+
const lightThemeID = document.documentElement.getAttribute('data-light-theme') || 'light';
22+
const darkThemeID = document.documentElement.getAttribute('data-dark-theme') || 'dark';
23+
const actualThemeID = themeID === 'auto' ? (prefersDark ? darkThemeID : lightThemeID) : themeID;
24+
25+
document.documentElement.setAttribute('data-bs-theme', actualThemeID);
26+
document.documentElement.setAttribute('data-theme-state', themeID);
27+
}
28+
29+
function applySyntaxTheme() {
30+
const syntaxTheme = getComputedStyle(document.documentElement)
31+
.getPropertyValue('--syntax-highlight-theme').trim().replace(/"/g, '');
32+
33+
if (!syntaxTheme) return;
34+
35+
document.querySelectorAll('link[data-highlight-theme]').forEach(link => {
36+
link.setAttribute('disabled', 'disabled');
37+
});
38+
39+
const themeLink = document.querySelector(`link[data-highlight-theme="${syntaxTheme}"]`);
40+
if (themeLink) {
41+
themeLink.removeAttribute('disabled');
42+
}
43+
}
44+
45+
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', e => {
46+
const currentTheme = getThemePreference();
47+
if (currentTheme === 'auto') {
48+
applyTheme('auto');
49+
applySyntaxTheme();
50+
}
51+
});
52+
53+
const savedTheme = getThemePreference();
54+
applyTheme(savedTheme);
55+
applySyntaxTheme();
56+
})();
57+
</script>
58+
<meta property="og:site_name" content="PBH.dev" />
59+
<meta property="og:title" content="CloudNews 3.8.3 released" />
60+
<meta name="twitter:title" content="CloudNews 3.8.3 released" />
61+
<meta property="og:url" content="https://pbh.dev/2019-02-25-CloudNews-3-8-3" />
62+
<meta name="twitter:domain" content="pbh.dev" />
63+
<meta name="twitter:card" content="summary_large_image" />
64+
<meta name="twitter:dnt" content="on" />
65+
</head>
66+
<body class="container">
67+
<div class="fixed-top">
68+
<header>
69+
<nav class="navbar navbar-expand-md" style="border-bottom: 1.0px solid rgb(211 211 211 / 100%); background-color: rgb(255 255 255 / 85%)">
70+
<div class="container flex-wrap flex-lg-nowrap">
71+
<div class="me-2 me-md-auto">
72+
<a href="/home" class="d-inline-flex align-items-center navbar-brand" style="font-weight: 700">PBH.dev</a>
73+
</div>
74+
<button type="button" class="navbar-toggler btn" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
75+
<div id="navbarCollapse" class="collapse navbar-collapse">
76+
<ul class="navbar-nav mb-2 mb-md-0 col justify-content-end">
77+
<li class="nav-item"><a href="/home" class="nav-link text-nowrap">News</a></li>
78+
<li class="nav-item"><a href="/cloud-news" class="nav-link text-nowrap">CloudNews</a></li>
79+
<li class="nav-item"><a href="/cloud-notes" class="nav-link text-nowrap">CloudNotes</a></li>
80+
<li class="nav-item"><a href="/privacy" class="nav-link text-nowrap">Privacy</a></li>
81+
<li class="nav-item"><a href="/contact" class="nav-link text-nowrap">Contact</a></li>
82+
</ul>
83+
</div>
84+
</div>
85+
</nav>
86+
</header>
87+
</div>
88+
<div class="ig-main-content" style="padding-top: 90px; padding-bottom: 180px">
89+
<h1 class="text-center">CloudNews 3.8.3 released</h1>
90+
<p></p>
91+
</div>
92+
<div class="fixed-bottom">
93+
<div class="py-3 mt-5 vstack" style="border-top: 1.0px solid rgb(211 211 211 / 100%); background-color: rgb(255 255 255 / 85%)">
94+
<div class="fs-2 mb-0 align-self-center hstack gap-3">
95+
<a target="_blank" rel="noopener noreferrer" href="/feed.rss" class="mb-0 align-self-center link-secondary"><i class="bi-rss"></i></a>
96+
<a target="_blank" rel="noopener noreferrer" href="https://github.com/phedlund" class="mb-0 align-self-center link-secondary"><i class="bi-github"></i></a>
97+
<a target="_blank" rel="noopener noreferrer" href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=AXQCA3ZJU6TNS" class="mb-0 align-self-center link-secondary"><i class="bi-paypal"></i></a>
98+
</div>
99+
<p class="mb-0 align-self-center">Copyright © 2025 Peter B Hedlund</p>
100+
<p class="mb-0 align-self-center">Created in Swift with <a target="_blank" rel="noopener noreferrer" href="https://github.com/twostraws/Ignite" class="link-secondary">Ignite</a></p>
101+
</div>
102+
</div>
103+
<script src="/js/bootstrap.bundle.min.js"></script>
104+
<script src="/js/ignite-core.js"></script>
105+
</body>
106+
</html>
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1" />
6+
<meta name="author" content="Peter Hedlund" />
7+
<meta name="generator" content="Ignite v0.6.0" />
8+
<title>CloudNews 3.8.4 released</title>
9+
<link href="/css/bootstrap.min.css" rel="stylesheet" />
10+
<link href="/css/bootstrap-icons.min.css" rel="stylesheet" />
11+
<link href="/css/ignite-core.min.css" rel="stylesheet" />
12+
<link href="https://pbh.dev/2019-04-24-CloudNews-3-8-4" rel="canonical" />
13+
<link href="/favicon/favicon.ico" rel="icon" />
14+
<script>(function() {
15+
function getThemePreference() {
16+
return localStorage.getItem('custom-theme') || 'auto';
17+
}
18+
19+
function applyTheme(themeID) {
20+
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
21+
const lightThemeID = document.documentElement.getAttribute('data-light-theme') || 'light';
22+
const darkThemeID = document.documentElement.getAttribute('data-dark-theme') || 'dark';
23+
const actualThemeID = themeID === 'auto' ? (prefersDark ? darkThemeID : lightThemeID) : themeID;
24+
25+
document.documentElement.setAttribute('data-bs-theme', actualThemeID);
26+
document.documentElement.setAttribute('data-theme-state', themeID);
27+
}
28+
29+
function applySyntaxTheme() {
30+
const syntaxTheme = getComputedStyle(document.documentElement)
31+
.getPropertyValue('--syntax-highlight-theme').trim().replace(/"/g, '');
32+
33+
if (!syntaxTheme) return;
34+
35+
document.querySelectorAll('link[data-highlight-theme]').forEach(link => {
36+
link.setAttribute('disabled', 'disabled');
37+
});
38+
39+
const themeLink = document.querySelector(`link[data-highlight-theme="${syntaxTheme}"]`);
40+
if (themeLink) {
41+
themeLink.removeAttribute('disabled');
42+
}
43+
}
44+
45+
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', e => {
46+
const currentTheme = getThemePreference();
47+
if (currentTheme === 'auto') {
48+
applyTheme('auto');
49+
applySyntaxTheme();
50+
}
51+
});
52+
53+
const savedTheme = getThemePreference();
54+
applyTheme(savedTheme);
55+
applySyntaxTheme();
56+
})();
57+
</script>
58+
<meta property="og:site_name" content="PBH.dev" />
59+
<meta property="og:title" content="CloudNews 3.8.4 released" />
60+
<meta name="twitter:title" content="CloudNews 3.8.4 released" />
61+
<meta property="og:url" content="https://pbh.dev/2019-04-24-CloudNews-3-8-4" />
62+
<meta name="twitter:domain" content="pbh.dev" />
63+
<meta name="twitter:card" content="summary_large_image" />
64+
<meta name="twitter:dnt" content="on" />
65+
</head>
66+
<body class="container">
67+
<div class="fixed-top">
68+
<header>
69+
<nav class="navbar navbar-expand-md" style="border-bottom: 1.0px solid rgb(211 211 211 / 100%); background-color: rgb(255 255 255 / 85%)">
70+
<div class="container flex-wrap flex-lg-nowrap">
71+
<div class="me-2 me-md-auto">
72+
<a href="/home" class="d-inline-flex align-items-center navbar-brand" style="font-weight: 700">PBH.dev</a>
73+
</div>
74+
<button type="button" class="navbar-toggler btn" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
75+
<div id="navbarCollapse" class="collapse navbar-collapse">
76+
<ul class="navbar-nav mb-2 mb-md-0 col justify-content-end">
77+
<li class="nav-item"><a href="/home" class="nav-link text-nowrap">News</a></li>
78+
<li class="nav-item"><a href="/cloud-news" class="nav-link text-nowrap">CloudNews</a></li>
79+
<li class="nav-item"><a href="/cloud-notes" class="nav-link text-nowrap">CloudNotes</a></li>
80+
<li class="nav-item"><a href="/privacy" class="nav-link text-nowrap">Privacy</a></li>
81+
<li class="nav-item"><a href="/contact" class="nav-link text-nowrap">Contact</a></li>
82+
</ul>
83+
</div>
84+
</div>
85+
</nav>
86+
</header>
87+
</div>
88+
<div class="ig-main-content" style="padding-top: 90px; padding-bottom: 180px">
89+
<h1 class="text-center">CloudNews 3.8.4 released</h1>
90+
<p></p>
91+
</div>
92+
<div class="fixed-bottom">
93+
<div class="py-3 mt-5 vstack" style="border-top: 1.0px solid rgb(211 211 211 / 100%); background-color: rgb(255 255 255 / 85%)">
94+
<div class="fs-2 mb-0 align-self-center hstack gap-3">
95+
<a target="_blank" rel="noopener noreferrer" href="/feed.rss" class="mb-0 align-self-center link-secondary"><i class="bi-rss"></i></a>
96+
<a target="_blank" rel="noopener noreferrer" href="https://github.com/phedlund" class="mb-0 align-self-center link-secondary"><i class="bi-github"></i></a>
97+
<a target="_blank" rel="noopener noreferrer" href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=AXQCA3ZJU6TNS" class="mb-0 align-self-center link-secondary"><i class="bi-paypal"></i></a>
98+
</div>
99+
<p class="mb-0 align-self-center">Copyright © 2025 Peter B Hedlund</p>
100+
<p class="mb-0 align-self-center">Created in Swift with <a target="_blank" rel="noopener noreferrer" href="https://github.com/twostraws/Ignite" class="link-secondary">Ignite</a></p>
101+
</div>
102+
</div>
103+
<script src="/js/bootstrap.bundle.min.js"></script>
104+
<script src="/js/ignite-core.js"></script>
105+
</body>
106+
</html>

0 commit comments

Comments
 (0)