First pass
This commit is contained in:
parent
61cf2835e6
commit
ea4e51f23e
|
@ -0,0 +1,6 @@
|
|||
[submodule "themes/ananke"]
|
||||
path = themes/ananke
|
||||
url = https://github.com/theNewDynamic/gohugo-theme-ananke.git
|
||||
[submodule "themes/PaperModX"]
|
||||
path = themes/PaperModX
|
||||
url = https://github.com/reorx/hugo-PaperModX.git
|
|
@ -0,0 +1,5 @@
|
|||
+++
|
||||
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
|
||||
date = {{ .Date }}
|
||||
draft = true
|
||||
+++
|
|
@ -0,0 +1,54 @@
|
|||
baseURL: "https://hibbian.org/"
|
||||
languageCode: en-GB
|
||||
theme: PaperModX
|
||||
enableRobotsTXT: true
|
||||
|
||||
params:
|
||||
author: Hibby
|
||||
title: Hibbian Linux
|
||||
description: Debian, tailored for hams
|
||||
defaultTheme: auto
|
||||
homeInfoParams:
|
||||
Title: "Hibbian"
|
||||
Content: |
|
||||
Linux, tailored to hams.
|
||||
|
||||
- Built on Strong Foundations
|
||||
- Shipping up-to-date software
|
||||
|
||||
To get started, please head to the [Guide](https://guide.foxk.it/repo).
|
||||
|
||||
|
||||
outputFormats:
|
||||
RSS:
|
||||
mediatype: "application/rss"
|
||||
baseName: "feed"
|
||||
|
||||
menu:
|
||||
main:
|
||||
- name: Home
|
||||
url: /
|
||||
weight: 1
|
||||
- name: Guide
|
||||
url: "https://guide.hibbian.org"
|
||||
weight: 2
|
||||
- name: Git
|
||||
url: "https://git.hibbian.org"
|
||||
weight: 3
|
||||
- name: Posts
|
||||
url: /posts/
|
||||
weight: 4
|
||||
|
||||
languages:
|
||||
en:
|
||||
languageName: "English"
|
||||
|
||||
markup:
|
||||
goldmark:
|
||||
renderer:
|
||||
unsafe: true
|
||||
highlight:
|
||||
style: dracula
|
||||
lineNos: false
|
||||
noClasses: false
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
+++
|
||||
title = 'Introducing Hibbian Linux'
|
||||
date = 2024-08-26T23:34:26+01:00
|
||||
draft = false
|
||||
+++
|
||||
|
||||
# Introduction
|
||||
|
||||
Finally, I've managed to pull together enough disparate components for the
|
||||
project to come together!
|
||||
|
||||
Please welcome:
|
||||
|
||||
**Hibbian Linux**, a distribution aimed at ham radio operators.
|
||||
|
||||
# Another one?
|
||||
|
||||
I know - there's plenty of options for radio operators to choose from.
|
||||
What makes this one different?
|
||||
|
||||
## Strong Foundations & Long Term Support
|
||||
|
||||
The system is built from the ground up on Debian Linux's Stable release. This
|
||||
provides a strong foundation backed with years of security and support.
|
||||
|
||||
## Modern Software & Fast Updates
|
||||
|
||||
Debian's strength is in its stability, but for some of the software we want to
|
||||
use, being up to date is more important. wjstx moves quickly, bpq moves quickly.
|
||||
Hibbian offers the latest packages from our community to keep on top of shifting
|
||||
standards and best practises.
|
||||
|
||||
Some packages I maintain aren't in Debian, but still deserve to be distributed
|
||||
easily to users. You'll find them here!
|
||||
|
||||
## Deep Experience & Active Operation
|
||||
|
||||
Hibbian is the work of me - [hibby](https://foxk.it). I'm a core member of the
|
||||
[Debian Hamradio](https://debian.org) team, maintaining software to be
|
||||
distributed to Debian, Ubuntu, Raspberry Pi, Mint and more for a decade. I've
|
||||
been running a repository of software for the [UK packet radio
|
||||
network](https://ukpacketradio.network/), and the lessons, sore points and work
|
||||
from this has naturally expanded into Hibbian.
|
||||
|
||||
I run the software I maintain, I run software maintained by others and I try to
|
||||
make computers do interesting things over radio. In other words, I eat my own
|
||||
dog food.
|
||||
|
||||
Where possible, contributions and modifications will go back to Debian and
|
||||
software authors.
|
||||
|
||||
## Stand-Alone Principles
|
||||
|
||||
I don't believe in trusting other companies to host the code, data or the packages on
|
||||
my behalf - everything is owned and run as 'Hibbian'.
|
||||
|
||||
- You will find the code on our own [git
|
||||
forge](https://git.hibbian.org/Hibbian/), where bug reports and issues are
|
||||
welcomed.
|
||||
- You'll find email communication hosted on Hibbian infrastructure
|
||||
- You won't find Hibbian on Discord - try JS8 or Packet.
|
||||
|
||||
When all else fails, somehow I'll still be able to continue and communicate.
|
||||
|
||||
# Two Ways to Install
|
||||
|
||||
There are two ways to run the Hibbian collection of software - as a repository
|
||||
for your existing OS, or as a complete OS itself.
|
||||
|
||||
## Repo
|
||||
|
||||
Can't run the whole thing or don't want to commit? Don't worry - I ship software
|
||||
in the 'repo' for Debian & Raspberry Pi. You can pick and choose the latest
|
||||
packages to be delivered straight to your computer and not have to reinstall
|
||||
anything.
|
||||
|
||||
* Bullseye - 11 - Oldstable
|
||||
* Bookworm - 12 - Stable
|
||||
* Trixie - 13 Testing
|
||||
|
||||
To learn more, see the installation pages on the
|
||||
[guide](https://guide.hibbian.org/repo/).
|
||||
|
||||
## Full Distro
|
||||
|
||||
For those who want a more convenient option, the full Hibbian distribution based
|
||||
on Debian Bookworm for x86_64 and Raspberry Pi will arrive later this year.
|
|
@ -0,0 +1,281 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" dir="auto">
|
||||
|
||||
<head><meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="robots" content="index, follow">
|
||||
<title>404 Page not found | </title>
|
||||
<meta name="keywords" content="">
|
||||
<meta name="description" content="Debian, tailored for hams">
|
||||
<meta name="author" content="Hibby">
|
||||
<link rel="canonical" href="https://hibbian.org/404.html">
|
||||
<link crossorigin="anonymous" href="/assets/css/stylesheet.min.7da7716a1f2d0725f74c6ae7f8d6adafc43aabe2b366b65bfbf433448e2a2001.css" integrity="sha256-fadxah8tByX3TGrn+Natr8Q6q+KzZrZb+/QzRI4qIAE=" rel="preload stylesheet" as="style">
|
||||
<link rel="icon" href="https://hibbian.org/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="https://hibbian.org/apple-touch-icon.png">
|
||||
<link rel="alternate" hreflang="en" href="https://hibbian.org/404.html">
|
||||
|
||||
<meta name="twitter:title" content="404 Page not found | " />
|
||||
<meta name="twitter:description" content="Debian, tailored for hams" />
|
||||
<meta property="og:title" content="404 Page not found | " />
|
||||
<meta property="og:description" content="Debian, tailored for hams" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://hibbian.org/404.html" />
|
||||
<meta property="og:site_name" content="Hibbian Linux" />
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
#theme-toggle,
|
||||
.top-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--theme: rgb(29, 30, 32);
|
||||
--entry: rgb(46, 46, 51);
|
||||
--primary: rgb(218, 218, 219);
|
||||
--secondary: rgb(155, 156, 157);
|
||||
--tertiary-bg: rgb(65, 66, 68);
|
||||
--content: rgb(196, 196, 197);
|
||||
--code-bg: rgb(55, 56, 62);
|
||||
--border: rgb(51, 51, 51);
|
||||
}
|
||||
|
||||
.list-page {
|
||||
background: var(--theme);
|
||||
}
|
||||
|
||||
.list-page:not(.dark)::-webkit-scrollbar-track {
|
||||
background: 0 0;
|
||||
}
|
||||
|
||||
.list-page:not(.dark)::-webkit-scrollbar-thumb {
|
||||
border-color: var(--theme);
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="list-page type-page kind-404 layout-" id="top"><script data-no-instant>
|
||||
function switchTheme(theme) {
|
||||
switch (theme) {
|
||||
case 'light':
|
||||
document.body.classList.remove('dark');
|
||||
break;
|
||||
case 'dark':
|
||||
document.body.classList.add('dark');
|
||||
break;
|
||||
|
||||
default:
|
||||
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
document.body.classList.add('dark');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function isDarkTheme() {
|
||||
return document.body.className.includes("dark");
|
||||
}
|
||||
|
||||
function getPrefTheme() {
|
||||
return localStorage.getItem("pref-theme");
|
||||
}
|
||||
|
||||
function setPrefTheme(theme) {
|
||||
switchTheme(theme)
|
||||
localStorage.setItem("pref-theme", theme);
|
||||
}
|
||||
|
||||
const toggleThemeCallbacks = {}
|
||||
toggleThemeCallbacks['main'] = (isDark) => {
|
||||
|
||||
if (isDark) {
|
||||
setPrefTheme('light');
|
||||
} else {
|
||||
setPrefTheme('dark');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
window.addEventListener('toggle-theme', function() {
|
||||
|
||||
const isDark = isDarkTheme()
|
||||
for (const key in toggleThemeCallbacks) {
|
||||
toggleThemeCallbacks[key](isDark)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function toggleThemeListener() {
|
||||
|
||||
window.dispatchEvent(new CustomEvent('toggle-theme'));
|
||||
}
|
||||
|
||||
</script>
|
||||
<script>
|
||||
|
||||
(function() {
|
||||
const defaultTheme = 'auto';
|
||||
const prefTheme = getPrefTheme();
|
||||
const theme = prefTheme ? prefTheme : defaultTheme;
|
||||
|
||||
switchTheme(theme);
|
||||
})();
|
||||
</script>
|
||||
|
||||
<header class="header">
|
||||
<nav class="nav">
|
||||
<div class="logo">
|
||||
<span class="logo-switches">
|
||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||
</svg>
|
||||
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="5"></circle>
|
||||
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||
</svg>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<ul id="menu">
|
||||
<li>
|
||||
<a href="https://hibbian.org/" title="Home" class="active"
|
||||
>Home
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://guide.hibbian.org/" title="Guide"
|
||||
>Guide
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://git.hibbian.org/" title="Git"
|
||||
>Git
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://hibbian.org/posts/" title="Posts"
|
||||
>Posts
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="main">
|
||||
<div class="not-found">404</div>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<span>© 2024 <a href="https://hibbian.org/"></a></span><span style="display: inline-block; margin-left: 1em;">
|
||||
<a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA</a>
|
||||
</span>
|
||||
<span style="display: inline-block; margin-left: 1em;">
|
||||
Powered by
|
||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||
<a href="https://github.com/reorx/hugo-PaperModX/" rel="noopener" target="_blank">PaperModX</a>
|
||||
</span>
|
||||
</footer>
|
||||
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||
<path d="M12 6H0l6-6z" />
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<script>
|
||||
(function() {
|
||||
|
||||
const disableThemeToggle = '' == '1';
|
||||
if (disableThemeToggle) {
|
||||
return;
|
||||
}
|
||||
|
||||
let button = document.getElementById("theme-toggle")
|
||||
|
||||
button.removeEventListener('click', toggleThemeListener)
|
||||
|
||||
button.addEventListener('click', toggleThemeListener)
|
||||
})();
|
||||
</script>
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
let menu = document.getElementById('menu')
|
||||
if (menu) {
|
||||
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||
menu.onscroll = function () {
|
||||
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||
}
|
||||
}
|
||||
|
||||
const disableSmoothScroll = '' == '1';
|
||||
const enableInstantClick = '' == '1';
|
||||
|
||||
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches || disableSmoothScroll || enableInstantClick) {
|
||||
return;
|
||||
}
|
||||
|
||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||
anchor.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
var id = this.getAttribute("href").substr(1);
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||
behavior: "smooth"
|
||||
});
|
||||
if (id === "top") {
|
||||
history.replaceState(null, null, " ");
|
||||
} else {
|
||||
history.pushState(null, null, `#${id}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
var mybutton = document.getElementById("top-link");
|
||||
window.onscroll = function () {
|
||||
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||
mybutton.style.visibility = "visible";
|
||||
mybutton.style.opacity = "1";
|
||||
} else {
|
||||
mybutton.style.visibility = "hidden";
|
||||
mybutton.style.opacity = "0";
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script>
|
||||
if (window.scrollListeners) {
|
||||
|
||||
for (const listener of scrollListeners) {
|
||||
window.removeEventListener('scroll', listener)
|
||||
}
|
||||
}
|
||||
window.scrollListeners = []
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script src="/js/medium-zoom.min.js" data-no-instant
|
||||
></script>
|
||||
</body>
|
||||
|
||||
</html>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||
<channel>
|
||||
<title>Categories on </title>
|
||||
<link>https://hibbian.org/categories/</link>
|
||||
<description>Recent content in Categories on </description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en</language><atom:link href="https://hibbian.org/categories/feed.xml" rel="self" type="application/rss+xml" />
|
||||
</channel>
|
||||
</rss>
|
|
@ -0,0 +1,287 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" dir="auto">
|
||||
|
||||
<head><meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="robots" content="index, follow">
|
||||
<title>Categories | </title>
|
||||
<meta name="keywords" content="">
|
||||
<meta name="description" content="Debian, tailored for hams">
|
||||
<meta name="author" content="Hibby">
|
||||
<link rel="canonical" href="https://hibbian.org/categories/">
|
||||
<link crossorigin="anonymous" href="/assets/css/stylesheet.min.7da7716a1f2d0725f74c6ae7f8d6adafc43aabe2b366b65bfbf433448e2a2001.css" integrity="sha256-fadxah8tByX3TGrn+Natr8Q6q+KzZrZb+/QzRI4qIAE=" rel="preload stylesheet" as="style">
|
||||
<link rel="icon" href="https://hibbian.org/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="https://hibbian.org/apple-touch-icon.png">
|
||||
<link rel="alternate" type="application/rss+xml" href="https://hibbian.org/categories/feed.xml">
|
||||
<link rel="alternate" hreflang="en" href="https://hibbian.org/categories/">
|
||||
|
||||
<meta name="twitter:title" content="Categories | " />
|
||||
<meta name="twitter:description" content="Debian, tailored for hams" />
|
||||
<meta property="og:title" content="Categories | " />
|
||||
<meta property="og:description" content="Debian, tailored for hams" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://hibbian.org/categories/" />
|
||||
<meta property="og:site_name" content="Hibbian Linux" />
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
#theme-toggle,
|
||||
.top-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--theme: rgb(29, 30, 32);
|
||||
--entry: rgb(46, 46, 51);
|
||||
--primary: rgb(218, 218, 219);
|
||||
--secondary: rgb(155, 156, 157);
|
||||
--tertiary-bg: rgb(65, 66, 68);
|
||||
--content: rgb(196, 196, 197);
|
||||
--code-bg: rgb(55, 56, 62);
|
||||
--border: rgb(51, 51, 51);
|
||||
}
|
||||
|
||||
.list-page {
|
||||
background: var(--theme);
|
||||
}
|
||||
|
||||
.list-page:not(.dark)::-webkit-scrollbar-track {
|
||||
background: 0 0;
|
||||
}
|
||||
|
||||
.list-page:not(.dark)::-webkit-scrollbar-thumb {
|
||||
border-color: var(--theme);
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="list-page type-categories kind-taxonomy layout-" id="top"><script data-no-instant>
|
||||
function switchTheme(theme) {
|
||||
switch (theme) {
|
||||
case 'light':
|
||||
document.body.classList.remove('dark');
|
||||
break;
|
||||
case 'dark':
|
||||
document.body.classList.add('dark');
|
||||
break;
|
||||
|
||||
default:
|
||||
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
document.body.classList.add('dark');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function isDarkTheme() {
|
||||
return document.body.className.includes("dark");
|
||||
}
|
||||
|
||||
function getPrefTheme() {
|
||||
return localStorage.getItem("pref-theme");
|
||||
}
|
||||
|
||||
function setPrefTheme(theme) {
|
||||
switchTheme(theme)
|
||||
localStorage.setItem("pref-theme", theme);
|
||||
}
|
||||
|
||||
const toggleThemeCallbacks = {}
|
||||
toggleThemeCallbacks['main'] = (isDark) => {
|
||||
|
||||
if (isDark) {
|
||||
setPrefTheme('light');
|
||||
} else {
|
||||
setPrefTheme('dark');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
window.addEventListener('toggle-theme', function() {
|
||||
|
||||
const isDark = isDarkTheme()
|
||||
for (const key in toggleThemeCallbacks) {
|
||||
toggleThemeCallbacks[key](isDark)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function toggleThemeListener() {
|
||||
|
||||
window.dispatchEvent(new CustomEvent('toggle-theme'));
|
||||
}
|
||||
|
||||
</script>
|
||||
<script>
|
||||
|
||||
(function() {
|
||||
const defaultTheme = 'auto';
|
||||
const prefTheme = getPrefTheme();
|
||||
const theme = prefTheme ? prefTheme : defaultTheme;
|
||||
|
||||
switchTheme(theme);
|
||||
})();
|
||||
</script>
|
||||
|
||||
<header class="header">
|
||||
<nav class="nav">
|
||||
<div class="logo">
|
||||
<span class="logo-switches">
|
||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||
</svg>
|
||||
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="5"></circle>
|
||||
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||
</svg>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<ul id="menu">
|
||||
<li>
|
||||
<a href="https://hibbian.org/" title="Home" class="active"
|
||||
>Home
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://guide.hibbian.org/" title="Guide"
|
||||
>Guide
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://git.hibbian.org/" title="Git"
|
||||
>Git
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://hibbian.org/posts/" title="Posts"
|
||||
>Posts
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="main">
|
||||
<header class="page-header">
|
||||
<h1>Categories</h1>
|
||||
</header>
|
||||
|
||||
<ul class="terms-tags">
|
||||
</ul>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<span>© 2024 <a href="https://hibbian.org/"></a></span><span style="display: inline-block; margin-left: 1em;">
|
||||
<a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA</a>
|
||||
</span>
|
||||
<span style="display: inline-block; margin-left: 1em;">
|
||||
Powered by
|
||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||
<a href="https://github.com/reorx/hugo-PaperModX/" rel="noopener" target="_blank">PaperModX</a>
|
||||
</span>
|
||||
</footer>
|
||||
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||
<path d="M12 6H0l6-6z" />
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<script>
|
||||
(function() {
|
||||
|
||||
const disableThemeToggle = '' == '1';
|
||||
if (disableThemeToggle) {
|
||||
return;
|
||||
}
|
||||
|
||||
let button = document.getElementById("theme-toggle")
|
||||
|
||||
button.removeEventListener('click', toggleThemeListener)
|
||||
|
||||
button.addEventListener('click', toggleThemeListener)
|
||||
})();
|
||||
</script>
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
let menu = document.getElementById('menu')
|
||||
if (menu) {
|
||||
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||
menu.onscroll = function () {
|
||||
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||
}
|
||||
}
|
||||
|
||||
const disableSmoothScroll = '' == '1';
|
||||
const enableInstantClick = '' == '1';
|
||||
|
||||
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches || disableSmoothScroll || enableInstantClick) {
|
||||
return;
|
||||
}
|
||||
|
||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||
anchor.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
var id = this.getAttribute("href").substr(1);
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||
behavior: "smooth"
|
||||
});
|
||||
if (id === "top") {
|
||||
history.replaceState(null, null, " ");
|
||||
} else {
|
||||
history.pushState(null, null, `#${id}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
var mybutton = document.getElementById("top-link");
|
||||
window.onscroll = function () {
|
||||
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||
mybutton.style.visibility = "visible";
|
||||
mybutton.style.opacity = "1";
|
||||
} else {
|
||||
mybutton.style.visibility = "hidden";
|
||||
mybutton.style.opacity = "0";
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script>
|
||||
if (window.scrollListeners) {
|
||||
|
||||
for (const listener of scrollListeners) {
|
||||
window.removeEventListener('scroll', listener)
|
||||
}
|
||||
}
|
||||
window.scrollListeners = []
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script src="/js/medium-zoom.min.js" data-no-instant
|
||||
></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||
<channel>
|
||||
<title>Categories on </title>
|
||||
<link>http://localhost:1313/categories/</link>
|
||||
<description>Recent content in Categories on </description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-GB</language><atom:link href="http://localhost:1313/categories/index.xml" rel="self" type="application/rss+xml" />
|
||||
</channel>
|
||||
</rss>
|
|
@ -0,0 +1,84 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||
<channel>
|
||||
<title></title>
|
||||
<link>https://hibbian.org/</link>
|
||||
<description>Recent content on </description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en</language>
|
||||
<lastBuildDate>Mon, 26 Aug 2024 23:34:26 +0100</lastBuildDate><atom:link href="https://hibbian.org/feed.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>Introducing Hibbian Linux</title>
|
||||
<link>https://hibbian.org/posts/hibbian-announce/</link>
|
||||
<pubDate>Mon, 26 Aug 2024 23:34:26 +0100</pubDate>
|
||||
|
||||
<guid>https://hibbian.org/posts/hibbian-announce/</guid>
|
||||
<description>Introduction Finally, I&rsquo;ve managed to pull together enough disparate components for the project to come together!
|
||||
Please welcome:
|
||||
Hibbian Linux, a distribution aimed at ham radio operators.
|
||||
Another one? I know - there&rsquo;s plenty of options for radio operators to choose from. What makes this one different?
|
||||
Strong Foundations &amp; Long Term Support The system is built from the ground up on Debian Linux&rsquo;s Stable release. This provides a strong foundation backed with years of security and support.</description>
|
||||
<content:encoded><![CDATA[<h1 id="introduction">Introduction</h1>
|
||||
<p>Finally, I’ve managed to pull together enough disparate components for the
|
||||
project to come together!</p>
|
||||
<p>Please welcome:</p>
|
||||
<p><strong>Hibbian Linux</strong>, a distribution aimed at ham radio operators.</p>
|
||||
<h1 id="another-one">Another one?</h1>
|
||||
<p>I know - there’s plenty of options for radio operators to choose from.
|
||||
What makes this one different?</p>
|
||||
<h2 id="strong-foundations--long-term-support">Strong Foundations & Long Term Support</h2>
|
||||
<p>The system is built from the ground up on Debian Linux’s Stable release. This
|
||||
provides a strong foundation backed with years of security and support.</p>
|
||||
<h2 id="modern-software--fast-updates">Modern Software & Fast Updates</h2>
|
||||
<p>Debian’s strength is in its stability, but for some of the software we want to
|
||||
use, being up to date is more important. wjstx moves quickly, bpq moves quickly.
|
||||
Hibbian offers the latest packages from our community to keep on top of shifting
|
||||
standards and best practises.</p>
|
||||
<p>Some packages I maintain aren’t in Debian, but still deserve to be distributed
|
||||
easily to users. You’ll find them here!</p>
|
||||
<h2 id="deep-experience--active-operation">Deep Experience & Active Operation</h2>
|
||||
<p>Hibbian is the work of me - <a href="https://foxk.it">hibby</a>. I’m a core member of the
|
||||
<a href="https://debian.org">Debian Hamradio</a> team, maintaining software to be
|
||||
distributed to Debian, Ubuntu, Raspberry Pi, Mint and more for a decade. I’ve
|
||||
been running a repository of software for the <a href="https://ukpacketradio.network/">UK packet radio
|
||||
network</a>, and the lessons, sore points and work
|
||||
from this has naturally expanded into Hibbian.</p>
|
||||
<p>I run the software I maintain, I run software maintained by others and I try to
|
||||
make computers do interesting things over radio. In other words, I eat my own
|
||||
dog food.</p>
|
||||
<p>Where possible, contributions and modifications will go back to Debian and
|
||||
software authors.</p>
|
||||
<h2 id="stand-alone-principles">Stand-Alone Principles</h2>
|
||||
<p>I don’t believe in trusting other companies to host the code, data or the packages on
|
||||
my behalf - everything is owned and run as ‘Hibbian’.</p>
|
||||
<ul>
|
||||
<li>You will find the code on our own <a href="https://git.hibbian.org/Hibbian/">git
|
||||
forge</a>, where bug reports and issues are
|
||||
welcomed.</li>
|
||||
<li>You’ll find email communication hosted on Hibbian infrastructure</li>
|
||||
<li>You won’t find Hibbian on Discord - try JS8 or Packet.</li>
|
||||
</ul>
|
||||
<p>When all else fails, somehow I’ll still be able to continue and communicate.</p>
|
||||
<h1 id="two-ways-to-install">Two Ways to Install</h1>
|
||||
<p>There are two ways to run the Hibbian collection of software - as a repository
|
||||
for your existing OS, or as a complete OS itself.</p>
|
||||
<h2 id="repo">Repo</h2>
|
||||
<p>Can’t run the whole thing or don’t want to commit? Don’t worry - I ship software
|
||||
in the ‘repo’ for Debian & Raspberry Pi. You can pick and choose the latest
|
||||
packages to be delivered straight to your computer and not have to reinstall
|
||||
anything.</p>
|
||||
<ul>
|
||||
<li>Bullseye - 11 - Oldstable</li>
|
||||
<li>Bookworm - 12 - Stable</li>
|
||||
<li>Trixie - 13 Testing</li>
|
||||
</ul>
|
||||
<p>To learn more, see the installation pages on the
|
||||
<a href="https://guide.hibbian.org/repo/">guide</a>.</p>
|
||||
<h2 id="full-distro">Full Distro</h2>
|
||||
<p>For those who want a more convenient option, the full Hibbian distribution based
|
||||
on Debian Bookworm for x86_64 and Raspberry Pi will arrive later this year.</p>
|
||||
]]></content:encoded>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
Binary file not shown.
After Width: | Height: | Size: 276 KiB |
|
@ -0,0 +1,337 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" dir="auto">
|
||||
|
||||
<head>
|
||||
<meta name="generator" content="Hugo 0.128.2"><meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="robots" content="index, follow">
|
||||
<title></title>
|
||||
|
||||
<meta name="description" content="Debian, tailored for hams">
|
||||
<meta name="author" content="Hibby">
|
||||
<link rel="canonical" href="https://hibbian.org/">
|
||||
<link crossorigin="anonymous" href="/assets/css/stylesheet.min.7da7716a1f2d0725f74c6ae7f8d6adafc43aabe2b366b65bfbf433448e2a2001.css" integrity="sha256-fadxah8tByX3TGrn+Natr8Q6q+KzZrZb+/QzRI4qIAE=" rel="preload stylesheet" as="style">
|
||||
<link rel="icon" href="https://hibbian.org/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="https://hibbian.org/apple-touch-icon.png">
|
||||
<link rel="alternate" type="application/rss+xml" href="https://hibbian.org/feed.xml">
|
||||
<link rel="alternate" hreflang="en" href="https://hibbian.org/">
|
||||
|
||||
<meta name="twitter:title" content="" />
|
||||
<meta name="twitter:description" content="Debian, tailored for hams" />
|
||||
<meta property="og:title" content="" />
|
||||
<meta property="og:description" content="Debian, tailored for hams" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://hibbian.org/" />
|
||||
<meta property="og:site_name" content="Hibbian Linux" />
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "Organization",
|
||||
"name": "",
|
||||
"url": "https://hibbian.org/",
|
||||
"description": "Debian, tailored for hams",
|
||||
"thumbnailUrl": "https://hibbian.org/favicon.ico",
|
||||
"sameAs": [
|
||||
|
||||
]
|
||||
}
|
||||
</script>
|
||||
<noscript>
|
||||
<style>
|
||||
#theme-toggle,
|
||||
.top-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--theme: rgb(29, 30, 32);
|
||||
--entry: rgb(46, 46, 51);
|
||||
--primary: rgb(218, 218, 219);
|
||||
--secondary: rgb(155, 156, 157);
|
||||
--tertiary-bg: rgb(65, 66, 68);
|
||||
--content: rgb(196, 196, 197);
|
||||
--code-bg: rgb(55, 56, 62);
|
||||
--border: rgb(51, 51, 51);
|
||||
}
|
||||
|
||||
.list-page {
|
||||
background: var(--theme);
|
||||
}
|
||||
|
||||
.list-page:not(.dark)::-webkit-scrollbar-track {
|
||||
background: 0 0;
|
||||
}
|
||||
|
||||
.list-page:not(.dark)::-webkit-scrollbar-thumb {
|
||||
border-color: var(--theme);
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="list-page type-page kind-home layout-" id="top"><script data-no-instant>
|
||||
function switchTheme(theme) {
|
||||
switch (theme) {
|
||||
case 'light':
|
||||
document.body.classList.remove('dark');
|
||||
break;
|
||||
case 'dark':
|
||||
document.body.classList.add('dark');
|
||||
break;
|
||||
|
||||
default:
|
||||
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
document.body.classList.add('dark');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function isDarkTheme() {
|
||||
return document.body.className.includes("dark");
|
||||
}
|
||||
|
||||
function getPrefTheme() {
|
||||
return localStorage.getItem("pref-theme");
|
||||
}
|
||||
|
||||
function setPrefTheme(theme) {
|
||||
switchTheme(theme)
|
||||
localStorage.setItem("pref-theme", theme);
|
||||
}
|
||||
|
||||
const toggleThemeCallbacks = {}
|
||||
toggleThemeCallbacks['main'] = (isDark) => {
|
||||
|
||||
if (isDark) {
|
||||
setPrefTheme('light');
|
||||
} else {
|
||||
setPrefTheme('dark');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
window.addEventListener('toggle-theme', function() {
|
||||
|
||||
const isDark = isDarkTheme()
|
||||
for (const key in toggleThemeCallbacks) {
|
||||
toggleThemeCallbacks[key](isDark)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function toggleThemeListener() {
|
||||
|
||||
window.dispatchEvent(new CustomEvent('toggle-theme'));
|
||||
}
|
||||
|
||||
</script>
|
||||
<script>
|
||||
|
||||
(function() {
|
||||
const defaultTheme = 'auto';
|
||||
const prefTheme = getPrefTheme();
|
||||
const theme = prefTheme ? prefTheme : defaultTheme;
|
||||
|
||||
switchTheme(theme);
|
||||
})();
|
||||
</script>
|
||||
|
||||
<header class="header">
|
||||
<nav class="nav">
|
||||
<div class="logo">
|
||||
<span class="logo-switches">
|
||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||
</svg>
|
||||
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="5"></circle>
|
||||
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||
</svg>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<ul id="menu">
|
||||
<li>
|
||||
<a href="https://hibbian.org/" title="Home" class="active"
|
||||
>Home
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://guide.hibbian.org/" title="Guide"
|
||||
>Guide
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://git.hibbian.org/" title="Git"
|
||||
>Git
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://hibbian.org/posts/" title="Posts"
|
||||
>Posts
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="main">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<article class="first-entry home-info">
|
||||
<header class="entry-header">
|
||||
<h1>Hibbian</h1>
|
||||
</header>
|
||||
<section class="entry-content"><p>Linux, tailored to hams.</p>
|
||||
<ul>
|
||||
<li>Built on Strong Foundations</li>
|
||||
<li>Shipping up-to-date software</li>
|
||||
</ul>
|
||||
<p>To get started, please head to the <a href="https://guide.foxk.it/repo">Guide</a>.</p>
|
||||
</section>
|
||||
<footer class="entry-footer"><div class="social-icons">
|
||||
</div>
|
||||
</footer>
|
||||
</article>
|
||||
|
||||
<article class="post-entry">
|
||||
<header class="entry-header">
|
||||
<h2>Introducing Hibbian Linux
|
||||
</h2>
|
||||
</header>
|
||||
<section class="entry-content">
|
||||
|
||||
<p>Introduction Finally, I’ve managed to pull together enough disparate components for the project to come together!
|
||||
Please welcome:
|
||||
Hibbian Linux, a distribution aimed at ham radio operators.
|
||||
Another one? I know - there’s plenty of options for radio operators to choose from. What makes this one different?
|
||||
Strong Foundations & Long Term Support The system is built from the ground up on Debian Linux’s Stable release. This provides a strong foundation backed with years of security and support....</p>
|
||||
|
||||
</section>
|
||||
<footer class="entry-footer"><span class="meta-item">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-calendar" style="user-select: text;"><rect x="3" y="4" width="18" height="18" rx="2" ry="2" style="user-select: text;"></rect><line x1="16" y1="2" x2="16" y2="6" style="user-select: text;"></line><line x1="8" y1="2" x2="8" y2="6" style="user-select: text;"></line><line x1="3" y1="10" x2="21" y2="10" style="user-select: text;"></line></svg>
|
||||
<span>August 26, 2024</span></span>
|
||||
</footer>
|
||||
<a class="entry-link" aria-label="post link to Introducing Hibbian Linux" href="https://hibbian.org/posts/hibbian-announce/"></a>
|
||||
</article>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<span>© 2024 <a href="https://hibbian.org/"></a></span><span style="display: inline-block; margin-left: 1em;">
|
||||
<a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA</a>
|
||||
</span>
|
||||
<span style="display: inline-block; margin-left: 1em;">
|
||||
Powered by
|
||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||
<a href="https://github.com/reorx/hugo-PaperModX/" rel="noopener" target="_blank">PaperModX</a>
|
||||
</span>
|
||||
</footer>
|
||||
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||
<path d="M12 6H0l6-6z" />
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<script>
|
||||
(function() {
|
||||
|
||||
const disableThemeToggle = '' == '1';
|
||||
if (disableThemeToggle) {
|
||||
return;
|
||||
}
|
||||
|
||||
let button = document.getElementById("theme-toggle")
|
||||
|
||||
button.removeEventListener('click', toggleThemeListener)
|
||||
|
||||
button.addEventListener('click', toggleThemeListener)
|
||||
})();
|
||||
</script>
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
let menu = document.getElementById('menu')
|
||||
if (menu) {
|
||||
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||
menu.onscroll = function () {
|
||||
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||
}
|
||||
}
|
||||
|
||||
const disableSmoothScroll = '' == '1';
|
||||
const enableInstantClick = '' == '1';
|
||||
|
||||
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches || disableSmoothScroll || enableInstantClick) {
|
||||
return;
|
||||
}
|
||||
|
||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||
anchor.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
var id = this.getAttribute("href").substr(1);
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||
behavior: "smooth"
|
||||
});
|
||||
if (id === "top") {
|
||||
history.replaceState(null, null, " ");
|
||||
} else {
|
||||
history.pushState(null, null, `#${id}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
var mybutton = document.getElementById("top-link");
|
||||
window.onscroll = function () {
|
||||
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||
mybutton.style.visibility = "visible";
|
||||
mybutton.style.opacity = "1";
|
||||
} else {
|
||||
mybutton.style.visibility = "hidden";
|
||||
mybutton.style.opacity = "0";
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script>
|
||||
if (window.scrollListeners) {
|
||||
|
||||
for (const listener of scrollListeners) {
|
||||
window.removeEventListener('scroll', listener)
|
||||
}
|
||||
}
|
||||
window.scrollListeners = []
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script src="/js/medium-zoom.min.js" data-no-instant
|
||||
></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,82 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||
<channel>
|
||||
<title></title>
|
||||
<link>http://localhost:1313/</link>
|
||||
<description>Recent content on </description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-GB</language>
|
||||
<lastBuildDate>Mon, 26 Aug 2024 23:34:26 +0100</lastBuildDate><atom:link href="http://localhost:1313/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>Hibbian Linux</title>
|
||||
<link>http://localhost:1313/posts/first-post/</link>
|
||||
<pubDate>Mon, 26 Aug 2024 23:34:26 +0100</pubDate>
|
||||
|
||||
<guid>http://localhost:1313/posts/first-post/</guid>
|
||||
<description>Introduction Finally, I&rsquo;ve managed to pull together enough disparate components for the project to come together!
|
||||
Please welcome:
|
||||
Hibbian Linux, a distribution aimed at ham radio operators.
|
||||
Another one? I know - there&rsquo;s plenty of options for radio operators to choose from. What makes this one different?
|
||||
Strong Foundations &amp; Long Term Support The system is built from the ground up on Debian Linux&rsquo;s Stable release. This provides a strong foundation backed with years of security and support.</description>
|
||||
<content:encoded><![CDATA[<h1 id="introduction">Introduction</h1>
|
||||
<p>Finally, I’ve managed to pull together enough disparate components for the
|
||||
project to come together!</p>
|
||||
<p>Please welcome:</p>
|
||||
<p><strong>Hibbian Linux</strong>, a distribution aimed at ham radio operators.</p>
|
||||
<h1 id="another-one">Another one?</h1>
|
||||
<p>I know - there’s plenty of options for radio operators to choose from.
|
||||
What makes this one different?</p>
|
||||
<h2 id="strong-foundations--long-term-support">Strong Foundations & Long Term Support</h2>
|
||||
<p>The system is built from the ground up on Debian Linux’s Stable release. This
|
||||
provides a strong foundation backed with years of security and support.</p>
|
||||
<h2 id="modern-software--fast-updates">Modern Software & Fast Updates</h2>
|
||||
<p>Debian’s strength is in its stability, but for some of the software we want to
|
||||
use, being up to date is more important. wjstx moves quickly, bpq moves quickly.
|
||||
Hibbian offers the latest packages from our community to keep on top of shifting
|
||||
standards and best practises.</p>
|
||||
<p>Some packages I maintain aren’t in Debian, but still deserve to be distributed
|
||||
easily to users. You’ll find them here!</p>
|
||||
<h2 id="deep-experience--active-operation">Deep Experience & Active Operation</h2>
|
||||
<p>Hibbian is the work of me - <a href="https://foxk.it">hibby</a>. I’m a core member of the
|
||||
<a href="https://debian.org">Debian Hamradio</a> team, maintaining software to be
|
||||
distributed to Debian, Ubuntu, Raspberry Pi, Mint and more for a decade. I’ve
|
||||
been running a repository of software for the <a href="https://ukpacketradio.network/">UK packet radio
|
||||
network</a>, and the lessons, sore points and work
|
||||
from this has naturally expanded into Hibbian.</p>
|
||||
<p>I run the software I maintain, I run software maintained by others and I try to
|
||||
make computers do interesting things over radio. In other words, I eat my own
|
||||
dog food.</p>
|
||||
<p>Where possible, contributions and modifications will go back to Debian and
|
||||
software authors.</p>
|
||||
<h2 id="stand-alone-principles">Stand-Alone Principles</h2>
|
||||
<p>I don’t believe in trusting other companies to host the code, data or the packages on
|
||||
my behalf - everything is owned and run as ‘Hibbian’.</p>
|
||||
<ul>
|
||||
<li>You will find the code on our own <a href="https://git.hibbian.org/Hibbian/">git
|
||||
forge</a>, where bug reports and issues are
|
||||
welcomed.</li>
|
||||
<li>You’ll find email communication hosted on Hibbian infrastructure</li>
|
||||
<li>You won’t find Hibbian on Discord - try JS8 or Packet.</li>
|
||||
</ul>
|
||||
<p>When all else fails, somehow I’ll still be able to continue and communicate.</p>
|
||||
<h1 id="two-ways-to-install">Two Ways to Install</h1>
|
||||
<p>Can’t run the whole thing or don’t want to commit?</p>
|
||||
<h2 id="repo">Repo</h2>
|
||||
<p>Don’t worry - I ship software in the ‘repo’ for Debian & Raspberry Pi. You can
|
||||
pick and choose the latest packages to be delivered straight to your computer
|
||||
and not have to reinstall anything.</p>
|
||||
<ul>
|
||||
<li>Bullseye - 11 - Oldstable</li>
|
||||
<li>Bookworm - 12 - Stable</li>
|
||||
<li>Trixie - 13 Testing</li>
|
||||
</ul>
|
||||
<p>To learn more, see the installation pages on the
|
||||
<a href="https://guide.hibbian.org/repo/">guide</a>.</p>
|
||||
<h2 id="full-distro">Full Distro</h2>
|
||||
<p>For those who want a more convenient option, the full Hibbian distribution based
|
||||
on Debian Bookworm for x86_64 and Raspberry Pi will arrive later this year.</p>
|
||||
]]></content:encoded>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,10 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>https://hibbian.org/</title>
|
||||
<link rel="canonical" href="https://hibbian.org/">
|
||||
<meta name="robots" content="noindex">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=https://hibbian.org/">
|
||||
</head>
|
||||
</html>
|
|
@ -0,0 +1,84 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||
<channel>
|
||||
<title>Posts on </title>
|
||||
<link>https://hibbian.org/posts/</link>
|
||||
<description>Recent content in Posts on </description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en</language>
|
||||
<lastBuildDate>Mon, 26 Aug 2024 23:34:26 +0100</lastBuildDate><atom:link href="https://hibbian.org/posts/feed.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>Introducing Hibbian Linux</title>
|
||||
<link>https://hibbian.org/posts/hibbian-announce/</link>
|
||||
<pubDate>Mon, 26 Aug 2024 23:34:26 +0100</pubDate>
|
||||
|
||||
<guid>https://hibbian.org/posts/hibbian-announce/</guid>
|
||||
<description>Introduction Finally, I&rsquo;ve managed to pull together enough disparate components for the project to come together!
|
||||
Please welcome:
|
||||
Hibbian Linux, a distribution aimed at ham radio operators.
|
||||
Another one? I know - there&rsquo;s plenty of options for radio operators to choose from. What makes this one different?
|
||||
Strong Foundations &amp; Long Term Support The system is built from the ground up on Debian Linux&rsquo;s Stable release. This provides a strong foundation backed with years of security and support.</description>
|
||||
<content:encoded><![CDATA[<h1 id="introduction">Introduction</h1>
|
||||
<p>Finally, I’ve managed to pull together enough disparate components for the
|
||||
project to come together!</p>
|
||||
<p>Please welcome:</p>
|
||||
<p><strong>Hibbian Linux</strong>, a distribution aimed at ham radio operators.</p>
|
||||
<h1 id="another-one">Another one?</h1>
|
||||
<p>I know - there’s plenty of options for radio operators to choose from.
|
||||
What makes this one different?</p>
|
||||
<h2 id="strong-foundations--long-term-support">Strong Foundations & Long Term Support</h2>
|
||||
<p>The system is built from the ground up on Debian Linux’s Stable release. This
|
||||
provides a strong foundation backed with years of security and support.</p>
|
||||
<h2 id="modern-software--fast-updates">Modern Software & Fast Updates</h2>
|
||||
<p>Debian’s strength is in its stability, but for some of the software we want to
|
||||
use, being up to date is more important. wjstx moves quickly, bpq moves quickly.
|
||||
Hibbian offers the latest packages from our community to keep on top of shifting
|
||||
standards and best practises.</p>
|
||||
<p>Some packages I maintain aren’t in Debian, but still deserve to be distributed
|
||||
easily to users. You’ll find them here!</p>
|
||||
<h2 id="deep-experience--active-operation">Deep Experience & Active Operation</h2>
|
||||
<p>Hibbian is the work of me - <a href="https://foxk.it">hibby</a>. I’m a core member of the
|
||||
<a href="https://debian.org">Debian Hamradio</a> team, maintaining software to be
|
||||
distributed to Debian, Ubuntu, Raspberry Pi, Mint and more for a decade. I’ve
|
||||
been running a repository of software for the <a href="https://ukpacketradio.network/">UK packet radio
|
||||
network</a>, and the lessons, sore points and work
|
||||
from this has naturally expanded into Hibbian.</p>
|
||||
<p>I run the software I maintain, I run software maintained by others and I try to
|
||||
make computers do interesting things over radio. In other words, I eat my own
|
||||
dog food.</p>
|
||||
<p>Where possible, contributions and modifications will go back to Debian and
|
||||
software authors.</p>
|
||||
<h2 id="stand-alone-principles">Stand-Alone Principles</h2>
|
||||
<p>I don’t believe in trusting other companies to host the code, data or the packages on
|
||||
my behalf - everything is owned and run as ‘Hibbian’.</p>
|
||||
<ul>
|
||||
<li>You will find the code on our own <a href="https://git.hibbian.org/Hibbian/">git
|
||||
forge</a>, where bug reports and issues are
|
||||
welcomed.</li>
|
||||
<li>You’ll find email communication hosted on Hibbian infrastructure</li>
|
||||
<li>You won’t find Hibbian on Discord - try JS8 or Packet.</li>
|
||||
</ul>
|
||||
<p>When all else fails, somehow I’ll still be able to continue and communicate.</p>
|
||||
<h1 id="two-ways-to-install">Two Ways to Install</h1>
|
||||
<p>There are two ways to run the Hibbian collection of software - as a repository
|
||||
for your existing OS, or as a complete OS itself.</p>
|
||||
<h2 id="repo">Repo</h2>
|
||||
<p>Can’t run the whole thing or don’t want to commit? Don’t worry - I ship software
|
||||
in the ‘repo’ for Debian & Raspberry Pi. You can pick and choose the latest
|
||||
packages to be delivered straight to your computer and not have to reinstall
|
||||
anything.</p>
|
||||
<ul>
|
||||
<li>Bullseye - 11 - Oldstable</li>
|
||||
<li>Bookworm - 12 - Stable</li>
|
||||
<li>Trixie - 13 Testing</li>
|
||||
</ul>
|
||||
<p>To learn more, see the installation pages on the
|
||||
<a href="https://guide.hibbian.org/repo/">guide</a>.</p>
|
||||
<h2 id="full-distro">Full Distro</h2>
|
||||
<p>For those who want a more convenient option, the full Hibbian distribution based
|
||||
on Debian Bookworm for x86_64 and Raspberry Pi will arrive later this year.</p>
|
||||
]]></content:encoded>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
|
@ -0,0 +1,500 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" dir="auto">
|
||||
|
||||
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script><meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<title>Introducing Hibbian Linux | </title>
|
||||
<meta name="keywords" content="">
|
||||
<meta name="description" content="Introduction Finally, I’ve managed to pull together enough disparate components for the project to come together!
|
||||
Please welcome:
|
||||
Hibbian Linux, a distribution aimed at ham radio operators.
|
||||
Another one? I know - there’s plenty of options for radio operators to choose from. What makes this one different?
|
||||
Strong Foundations & Long Term Support The system is built from the ground up on Debian Linux’s Stable release. This provides a strong foundation backed with years of security and support.">
|
||||
<meta name="author" content="Hibby">
|
||||
<link rel="canonical" href="http://localhost:1313/posts/first-post/">
|
||||
<link crossorigin="anonymous" href="/assets/css/stylesheet.min.7da7716a1f2d0725f74c6ae7f8d6adafc43aabe2b366b65bfbf433448e2a2001.css" integrity="sha256-fadxah8tByX3TGrn+Natr8Q6q+KzZrZb+/QzRI4qIAE=" rel="preload stylesheet" as="style">
|
||||
<link rel="icon" href="http://localhost:1313/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="http://localhost:1313/apple-touch-icon.png">
|
||||
<link rel="alternate" hreflang="en" href="http://localhost:1313/posts/first-post/">
|
||||
|
||||
<meta name="twitter:title" content="Introducing Hibbian Linux | " />
|
||||
<meta name="twitter:description" content="Introduction Finally, I’ve managed to pull together enough disparate components for the project to come together!
|
||||
Please welcome:
|
||||
Hibbian Linux, a distribution aimed at ham radio operators.
|
||||
Another one? I know - there’s plenty of options for radio operators to choose from. What makes this one different?
|
||||
Strong Foundations & Long Term Support The system is built from the ground up on Debian Linux’s Stable release. This provides a strong foundation backed with years of security and support." />
|
||||
<meta property="og:title" content="Introducing Hibbian Linux | " />
|
||||
<meta property="og:description" content="Introduction Finally, I’ve managed to pull together enough disparate components for the project to come together!
|
||||
Please welcome:
|
||||
Hibbian Linux, a distribution aimed at ham radio operators.
|
||||
Another one? I know - there’s plenty of options for radio operators to choose from. What makes this one different?
|
||||
Strong Foundations & Long Term Support The system is built from the ground up on Debian Linux’s Stable release. This provides a strong foundation backed with years of security and support." />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="http://localhost:1313/posts/first-post/" />
|
||||
<meta property="article:section" content="posts" />
|
||||
<meta property="article:published_time" content="2024-08-26T23:34:26+01:00" />
|
||||
<meta property="article:modified_time" content="2024-08-26T23:34:26+01:00" /><meta property="og:site_name" content="Hibbian Linux" />
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 1 ,
|
||||
"name": "Posts",
|
||||
"item": "http://localhost:1313/posts/"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 2 ,
|
||||
"name": "Introducing Hibbian Linux",
|
||||
"item": "http://localhost:1313/posts/first-post/"
|
||||
}
|
||||
]
|
||||
}
|
||||
</script>
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BlogPosting",
|
||||
"headline": "Introducing Hibbian Linux | ",
|
||||
"name": "Introducing Hibbian Linux",
|
||||
"description": "Introduction Finally, I\u0026rsquo;ve managed to pull together enough disparate components for the project to come together!\nPlease welcome:\nHibbian Linux, a distribution aimed at ham radio operators.\nAnother one? I know - there\u0026rsquo;s plenty of options for radio operators to choose from. What makes this one different?\nStrong Foundations \u0026amp; Long Term Support The system is built from the ground up on Debian Linux\u0026rsquo;s Stable release. This provides a strong foundation backed with years of security and support.",
|
||||
"keywords": [
|
||||
|
||||
],
|
||||
"wordCount" : "464",
|
||||
"inLanguage": "en",
|
||||
"datePublished": "2024-08-26T23:34:26+01:00",
|
||||
"dateModified": "2024-08-26T23:34:26+01:00",
|
||||
"author":{
|
||||
"@type": "Person",
|
||||
"name": "Hibby"
|
||||
},
|
||||
"mainEntityOfPage": {
|
||||
"@type": "WebPage",
|
||||
"@id": "http://localhost:1313/posts/first-post/"
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "",
|
||||
"logo": {
|
||||
"@type": "ImageObject",
|
||||
"url": "http://localhost:1313/favicon.ico"
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<noscript>
|
||||
<style>
|
||||
#theme-toggle,
|
||||
.top-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--theme: rgb(29, 30, 32);
|
||||
--entry: rgb(46, 46, 51);
|
||||
--primary: rgb(218, 218, 219);
|
||||
--secondary: rgb(155, 156, 157);
|
||||
--tertiary-bg: rgb(65, 66, 68);
|
||||
--content: rgb(196, 196, 197);
|
||||
--code-bg: rgb(55, 56, 62);
|
||||
--border: rgb(51, 51, 51);
|
||||
}
|
||||
|
||||
.list-page {
|
||||
background: var(--theme);
|
||||
}
|
||||
|
||||
.list-page:not(.dark)::-webkit-scrollbar-track {
|
||||
background: 0 0;
|
||||
}
|
||||
|
||||
.list-page:not(.dark)::-webkit-scrollbar-thumb {
|
||||
border-color: var(--theme);
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
</head>
|
||||
|
||||
<body class=" type-posts kind-page layout-" id="top"><script data-no-instant>
|
||||
function switchTheme(theme) {
|
||||
switch (theme) {
|
||||
case 'light':
|
||||
document.body.classList.remove('dark');
|
||||
break;
|
||||
case 'dark':
|
||||
document.body.classList.add('dark');
|
||||
break;
|
||||
|
||||
default:
|
||||
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
document.body.classList.add('dark');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function isDarkTheme() {
|
||||
return document.body.className.includes("dark");
|
||||
}
|
||||
|
||||
function getPrefTheme() {
|
||||
return localStorage.getItem("pref-theme");
|
||||
}
|
||||
|
||||
function setPrefTheme(theme) {
|
||||
switchTheme(theme)
|
||||
localStorage.setItem("pref-theme", theme);
|
||||
}
|
||||
|
||||
const toggleThemeCallbacks = {}
|
||||
toggleThemeCallbacks['main'] = (isDark) => {
|
||||
|
||||
if (isDark) {
|
||||
setPrefTheme('light');
|
||||
} else {
|
||||
setPrefTheme('dark');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
window.addEventListener('toggle-theme', function() {
|
||||
|
||||
const isDark = isDarkTheme()
|
||||
for (const key in toggleThemeCallbacks) {
|
||||
toggleThemeCallbacks[key](isDark)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function toggleThemeListener() {
|
||||
|
||||
window.dispatchEvent(new CustomEvent('toggle-theme'));
|
||||
}
|
||||
|
||||
</script>
|
||||
<script>
|
||||
|
||||
(function() {
|
||||
const defaultTheme = 'auto';
|
||||
const prefTheme = getPrefTheme();
|
||||
const theme = prefTheme ? prefTheme : defaultTheme;
|
||||
|
||||
switchTheme(theme);
|
||||
})();
|
||||
</script>
|
||||
|
||||
<header class="header">
|
||||
<nav class="nav">
|
||||
<div class="logo">
|
||||
<span class="logo-switches">
|
||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||
</svg>
|
||||
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="5"></circle>
|
||||
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||
</svg>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<ul id="menu">
|
||||
<li>
|
||||
<a href="http://localhost:1313/" title="Home" class="active"
|
||||
>Home
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://guide.hibbian.org/" title="Guide"
|
||||
>Guide
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://git.hibbian.org/" title="Git"
|
||||
>Git
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://localhost:1313/posts/" title="Posts" class="active"
|
||||
>Posts
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="main post">
|
||||
|
||||
<article class="post-single">
|
||||
<header class="post-header">
|
||||
<h1 class="post-title">Introducing Hibbian Linux</h1>
|
||||
<div class="post-meta"><span class="meta-item">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-calendar" style="user-select: text;"><rect x="3" y="4" width="18" height="18" rx="2" ry="2" style="user-select: text;"></rect><line x1="16" y1="2" x2="16" y2="6" style="user-select: text;"></line><line x1="8" y1="2" x2="8" y2="6" style="user-select: text;"></line><line x1="3" y1="10" x2="21" y2="10" style="user-select: text;"></line></svg>
|
||||
<span>August 26, 2024</span></span>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</header>
|
||||
<div class="post-content"><h1 id="introduction">Introduction<a hidden class="anchor" aria-hidden="true" href="#introduction">¶</a></h1>
|
||||
<p>Finally, I’ve managed to pull together enough disparate components for the
|
||||
project to come together!</p>
|
||||
<p>Please welcome:</p>
|
||||
<p><strong>Hibbian Linux</strong>, a distribution aimed at ham radio operators.</p>
|
||||
<h1 id="another-one">Another one?<a hidden class="anchor" aria-hidden="true" href="#another-one">¶</a></h1>
|
||||
<p>I know - there’s plenty of options for radio operators to choose from.
|
||||
What makes this one different?</p>
|
||||
<h2 id="strong-foundations--long-term-support">Strong Foundations & Long Term Support<a hidden class="anchor" aria-hidden="true" href="#strong-foundations--long-term-support">¶</a></h2>
|
||||
<p>The system is built from the ground up on Debian Linux’s Stable release. This
|
||||
provides a strong foundation backed with years of security and support.</p>
|
||||
<h2 id="modern-software--fast-updates">Modern Software & Fast Updates<a hidden class="anchor" aria-hidden="true" href="#modern-software--fast-updates">¶</a></h2>
|
||||
<p>Debian’s strength is in its stability, but for some of the software we want to
|
||||
use, being up to date is more important. wjstx moves quickly, bpq moves quickly.
|
||||
Hibbian offers the latest packages from our community to keep on top of shifting
|
||||
standards and best practises.</p>
|
||||
<p>Some packages I maintain aren’t in Debian, but still deserve to be distributed
|
||||
easily to users. You’ll find them here!</p>
|
||||
<h2 id="deep-experience--active-operation">Deep Experience & Active Operation<a hidden class="anchor" aria-hidden="true" href="#deep-experience--active-operation">¶</a></h2>
|
||||
<p>Hibbian is the work of me - <a href="https://foxk.it">hibby</a>. I’m a core member of the
|
||||
<a href="https://debian.org">Debian Hamradio</a> team, maintaining software to be
|
||||
distributed to Debian, Ubuntu, Raspberry Pi, Mint and more for a decade. I’ve
|
||||
been running a repository of software for the <a href="https://ukpacketradio.network/">UK packet radio
|
||||
network</a>, and the lessons, sore points and work
|
||||
from this has naturally expanded into Hibbian.</p>
|
||||
<p>I run the software I maintain, I run software maintained by others and I try to
|
||||
make computers do interesting things over radio. In other words, I eat my own
|
||||
dog food.</p>
|
||||
<p>Where possible, contributions and modifications will go back to Debian and
|
||||
software authors.</p>
|
||||
<h2 id="stand-alone-principles">Stand-Alone Principles<a hidden class="anchor" aria-hidden="true" href="#stand-alone-principles">¶</a></h2>
|
||||
<p>I don’t believe in trusting other companies to host the code, data or the packages on
|
||||
my behalf - everything is owned and run as ‘Hibbian’.</p>
|
||||
<ul>
|
||||
<li>You will find the code on our own <a href="https://git.hibbian.org/Hibbian/">git
|
||||
forge</a>, where bug reports and issues are
|
||||
welcomed.</li>
|
||||
<li>You’ll find email communication hosted on Hibbian infrastructure</li>
|
||||
<li>You won’t find Hibbian on Discord - try JS8 or Packet.</li>
|
||||
</ul>
|
||||
<p>When all else fails, somehow I’ll still be able to continue and communicate.</p>
|
||||
<h1 id="two-ways-to-install">Two Ways to Install<a hidden class="anchor" aria-hidden="true" href="#two-ways-to-install">¶</a></h1>
|
||||
<p>There are two ways to run the Hibbian collection of software - as a repository
|
||||
for your existing OS, or as a complete OS itself.</p>
|
||||
<h2 id="repo">Repo<a hidden class="anchor" aria-hidden="true" href="#repo">¶</a></h2>
|
||||
<p>Can’t run the whole thing or don’t want to commit? Don’t worry - I ship software
|
||||
in the ‘repo’ for Debian & Raspberry Pi. You can pick and choose the latest
|
||||
packages to be delivered straight to your computer and not have to reinstall
|
||||
anything.</p>
|
||||
<ul>
|
||||
<li>Bullseye - 11 - Oldstable</li>
|
||||
<li>Bookworm - 12 - Stable</li>
|
||||
<li>Trixie - 13 Testing</li>
|
||||
</ul>
|
||||
<p>To learn more, see the installation pages on the
|
||||
<a href="https://guide.hibbian.org/repo/">guide</a>.</p>
|
||||
<h2 id="full-distro">Full Distro<a hidden class="anchor" aria-hidden="true" href="#full-distro">¶</a></h2>
|
||||
<p>For those who want a more convenient option, the full Hibbian distribution based
|
||||
on Debian Bookworm for x86_64 and Raspberry Pi will arrive later this year.</p>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<footer class="post-footer">
|
||||
</footer>
|
||||
<div class="comments-separator"></div>
|
||||
</article>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<span>© 2024 <a href="http://localhost:1313/"></a></span><span style="display: inline-block; margin-left: 1em;">
|
||||
<a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA</a>
|
||||
</span>
|
||||
<span style="display: inline-block; margin-left: 1em;">
|
||||
Powered by
|
||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||
<a href="https://github.com/reorx/hugo-PaperModX/" rel="noopener" target="_blank">PaperModX</a>
|
||||
</span>
|
||||
</footer>
|
||||
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||
<path d="M12 6H0l6-6z" />
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<script>
|
||||
(function() {
|
||||
|
||||
const disableThemeToggle = '' == '1';
|
||||
if (disableThemeToggle) {
|
||||
return;
|
||||
}
|
||||
|
||||
let button = document.getElementById("theme-toggle")
|
||||
|
||||
button.removeEventListener('click', toggleThemeListener)
|
||||
|
||||
button.addEventListener('click', toggleThemeListener)
|
||||
})();
|
||||
</script>
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
let menu = document.getElementById('menu')
|
||||
if (menu) {
|
||||
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||
menu.onscroll = function () {
|
||||
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||
}
|
||||
}
|
||||
|
||||
const disableSmoothScroll = '' == '1';
|
||||
const enableInstantClick = '' == '1';
|
||||
|
||||
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches || disableSmoothScroll || enableInstantClick) {
|
||||
return;
|
||||
}
|
||||
|
||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||
anchor.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
var id = this.getAttribute("href").substr(1);
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||
behavior: "smooth"
|
||||
});
|
||||
if (id === "top") {
|
||||
history.replaceState(null, null, " ");
|
||||
} else {
|
||||
history.pushState(null, null, `#${id}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
var mybutton = document.getElementById("top-link");
|
||||
window.onscroll = function () {
|
||||
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||
mybutton.style.visibility = "visible";
|
||||
mybutton.style.opacity = "1";
|
||||
} else {
|
||||
mybutton.style.visibility = "hidden";
|
||||
mybutton.style.opacity = "0";
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script>
|
||||
if (window.scrollListeners) {
|
||||
|
||||
for (const listener of scrollListeners) {
|
||||
window.removeEventListener('scroll', listener)
|
||||
}
|
||||
}
|
||||
window.scrollListeners = []
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script src="/js/medium-zoom.min.js" data-no-instant
|
||||
></script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
(function() {
|
||||
const enableTocScroll = '' == '1'
|
||||
if (!enableTocScroll) {
|
||||
return
|
||||
}
|
||||
if (!document.querySelector('.toc')) {
|
||||
console.log('no toc found, ignore toc scroll')
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
|
||||
const scrollListeners = window.scrollListeners
|
||||
const headings = document.querySelectorAll('h1[id],h2[id],h3[id],h4[id],h5[id]');
|
||||
const activeClass = 'active';
|
||||
|
||||
|
||||
let activeHeading = headings[0];
|
||||
getLinkByHeading(activeHeading).classList.add(activeClass);
|
||||
|
||||
const onScroll = () => {
|
||||
const passedHeadings = [];
|
||||
for (const h of headings) {
|
||||
|
||||
if (getOffsetTop(h) < 5) {
|
||||
passedHeadings.push(h)
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (passedHeadings.length > 0) {
|
||||
newActiveHeading = passedHeadings[passedHeadings.length - 1];
|
||||
} else {
|
||||
newActiveHeading = headings[0];
|
||||
}
|
||||
if (activeHeading != newActiveHeading) {
|
||||
getLinkByHeading(activeHeading).classList.remove(activeClass);
|
||||
activeHeading = newActiveHeading;
|
||||
getLinkByHeading(activeHeading).classList.add(activeClass);
|
||||
}
|
||||
}
|
||||
|
||||
let timer = null;
|
||||
const scrollListener = () => {
|
||||
if (timer !== null) {
|
||||
clearTimeout(timer)
|
||||
}
|
||||
timer = setTimeout(onScroll, 50)
|
||||
}
|
||||
window.addEventListener('scroll', scrollListener, false);
|
||||
scrollListeners.push(scrollListener)
|
||||
|
||||
function getLinkByHeading(heading) {
|
||||
const id = encodeURI(heading.getAttribute('id')).toLowerCase();
|
||||
return document.querySelector(`.toc ul li a[href="#${id}"]`);
|
||||
}
|
||||
|
||||
function getOffsetTop(heading) {
|
||||
if (!heading.getClientRects().length) {
|
||||
return 0;
|
||||
}
|
||||
let rect = heading.getBoundingClientRect();
|
||||
return rect.top
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,500 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" dir="auto">
|
||||
|
||||
<head><meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="robots" content="index, follow">
|
||||
<title>Introducing Hibbian Linux | </title>
|
||||
<meta name="keywords" content="">
|
||||
<meta name="description" content="Introduction Finally, I’ve managed to pull together enough disparate components for the project to come together!
|
||||
Please welcome:
|
||||
Hibbian Linux, a distribution aimed at ham radio operators.
|
||||
Another one? I know - there’s plenty of options for radio operators to choose from. What makes this one different?
|
||||
Strong Foundations & Long Term Support The system is built from the ground up on Debian Linux’s Stable release. This provides a strong foundation backed with years of security and support.">
|
||||
<meta name="author" content="Hibby">
|
||||
<link rel="canonical" href="https://hibbian.org/posts/hibbian-announce/">
|
||||
<link crossorigin="anonymous" href="/assets/css/stylesheet.min.7da7716a1f2d0725f74c6ae7f8d6adafc43aabe2b366b65bfbf433448e2a2001.css" integrity="sha256-fadxah8tByX3TGrn+Natr8Q6q+KzZrZb+/QzRI4qIAE=" rel="preload stylesheet" as="style">
|
||||
<link rel="icon" href="https://hibbian.org/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="https://hibbian.org/apple-touch-icon.png">
|
||||
<link rel="alternate" hreflang="en" href="https://hibbian.org/posts/hibbian-announce/">
|
||||
|
||||
<meta name="twitter:title" content="Introducing Hibbian Linux | " />
|
||||
<meta name="twitter:description" content="Introduction Finally, I’ve managed to pull together enough disparate components for the project to come together!
|
||||
Please welcome:
|
||||
Hibbian Linux, a distribution aimed at ham radio operators.
|
||||
Another one? I know - there’s plenty of options for radio operators to choose from. What makes this one different?
|
||||
Strong Foundations & Long Term Support The system is built from the ground up on Debian Linux’s Stable release. This provides a strong foundation backed with years of security and support." />
|
||||
<meta property="og:title" content="Introducing Hibbian Linux | " />
|
||||
<meta property="og:description" content="Introduction Finally, I’ve managed to pull together enough disparate components for the project to come together!
|
||||
Please welcome:
|
||||
Hibbian Linux, a distribution aimed at ham radio operators.
|
||||
Another one? I know - there’s plenty of options for radio operators to choose from. What makes this one different?
|
||||
Strong Foundations & Long Term Support The system is built from the ground up on Debian Linux’s Stable release. This provides a strong foundation backed with years of security and support." />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="https://hibbian.org/posts/hibbian-announce/" />
|
||||
<meta property="article:section" content="posts" />
|
||||
<meta property="article:published_time" content="2024-08-26T23:34:26+01:00" />
|
||||
<meta property="article:modified_time" content="2024-08-26T23:34:26+01:00" /><meta property="og:site_name" content="Hibbian Linux" />
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 1 ,
|
||||
"name": "Posts",
|
||||
"item": "https://hibbian.org/posts/"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 2 ,
|
||||
"name": "Introducing Hibbian Linux",
|
||||
"item": "https://hibbian.org/posts/hibbian-announce/"
|
||||
}
|
||||
]
|
||||
}
|
||||
</script>
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BlogPosting",
|
||||
"headline": "Introducing Hibbian Linux | ",
|
||||
"name": "Introducing Hibbian Linux",
|
||||
"description": "Introduction Finally, I\u0026rsquo;ve managed to pull together enough disparate components for the project to come together!\nPlease welcome:\nHibbian Linux, a distribution aimed at ham radio operators.\nAnother one? I know - there\u0026rsquo;s plenty of options for radio operators to choose from. What makes this one different?\nStrong Foundations \u0026amp; Long Term Support The system is built from the ground up on Debian Linux\u0026rsquo;s Stable release. This provides a strong foundation backed with years of security and support.",
|
||||
"keywords": [
|
||||
|
||||
],
|
||||
"wordCount" : "464",
|
||||
"inLanguage": "en",
|
||||
"datePublished": "2024-08-26T23:34:26+01:00",
|
||||
"dateModified": "2024-08-26T23:34:26+01:00",
|
||||
"author":{
|
||||
"@type": "Person",
|
||||
"name": "Hibby"
|
||||
},
|
||||
"mainEntityOfPage": {
|
||||
"@type": "WebPage",
|
||||
"@id": "https://hibbian.org/posts/hibbian-announce/"
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "",
|
||||
"logo": {
|
||||
"@type": "ImageObject",
|
||||
"url": "https://hibbian.org/favicon.ico"
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<noscript>
|
||||
<style>
|
||||
#theme-toggle,
|
||||
.top-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--theme: rgb(29, 30, 32);
|
||||
--entry: rgb(46, 46, 51);
|
||||
--primary: rgb(218, 218, 219);
|
||||
--secondary: rgb(155, 156, 157);
|
||||
--tertiary-bg: rgb(65, 66, 68);
|
||||
--content: rgb(196, 196, 197);
|
||||
--code-bg: rgb(55, 56, 62);
|
||||
--border: rgb(51, 51, 51);
|
||||
}
|
||||
|
||||
.list-page {
|
||||
background: var(--theme);
|
||||
}
|
||||
|
||||
.list-page:not(.dark)::-webkit-scrollbar-track {
|
||||
background: 0 0;
|
||||
}
|
||||
|
||||
.list-page:not(.dark)::-webkit-scrollbar-thumb {
|
||||
border-color: var(--theme);
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
</head>
|
||||
|
||||
<body class=" type-posts kind-page layout-" id="top"><script data-no-instant>
|
||||
function switchTheme(theme) {
|
||||
switch (theme) {
|
||||
case 'light':
|
||||
document.body.classList.remove('dark');
|
||||
break;
|
||||
case 'dark':
|
||||
document.body.classList.add('dark');
|
||||
break;
|
||||
|
||||
default:
|
||||
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
document.body.classList.add('dark');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function isDarkTheme() {
|
||||
return document.body.className.includes("dark");
|
||||
}
|
||||
|
||||
function getPrefTheme() {
|
||||
return localStorage.getItem("pref-theme");
|
||||
}
|
||||
|
||||
function setPrefTheme(theme) {
|
||||
switchTheme(theme)
|
||||
localStorage.setItem("pref-theme", theme);
|
||||
}
|
||||
|
||||
const toggleThemeCallbacks = {}
|
||||
toggleThemeCallbacks['main'] = (isDark) => {
|
||||
|
||||
if (isDark) {
|
||||
setPrefTheme('light');
|
||||
} else {
|
||||
setPrefTheme('dark');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
window.addEventListener('toggle-theme', function() {
|
||||
|
||||
const isDark = isDarkTheme()
|
||||
for (const key in toggleThemeCallbacks) {
|
||||
toggleThemeCallbacks[key](isDark)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function toggleThemeListener() {
|
||||
|
||||
window.dispatchEvent(new CustomEvent('toggle-theme'));
|
||||
}
|
||||
|
||||
</script>
|
||||
<script>
|
||||
|
||||
(function() {
|
||||
const defaultTheme = 'auto';
|
||||
const prefTheme = getPrefTheme();
|
||||
const theme = prefTheme ? prefTheme : defaultTheme;
|
||||
|
||||
switchTheme(theme);
|
||||
})();
|
||||
</script>
|
||||
|
||||
<header class="header">
|
||||
<nav class="nav">
|
||||
<div class="logo">
|
||||
<span class="logo-switches">
|
||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||
</svg>
|
||||
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="5"></circle>
|
||||
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||
</svg>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<ul id="menu">
|
||||
<li>
|
||||
<a href="https://hibbian.org/" title="Home" class="active"
|
||||
>Home
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://guide.hibbian.org/" title="Guide"
|
||||
>Guide
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://git.hibbian.org/" title="Git"
|
||||
>Git
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://hibbian.org/posts/" title="Posts" class="active"
|
||||
>Posts
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="main post">
|
||||
|
||||
<article class="post-single">
|
||||
<header class="post-header">
|
||||
<h1 class="post-title">Introducing Hibbian Linux</h1>
|
||||
<div class="post-meta"><span class="meta-item">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-calendar" style="user-select: text;"><rect x="3" y="4" width="18" height="18" rx="2" ry="2" style="user-select: text;"></rect><line x1="16" y1="2" x2="16" y2="6" style="user-select: text;"></line><line x1="8" y1="2" x2="8" y2="6" style="user-select: text;"></line><line x1="3" y1="10" x2="21" y2="10" style="user-select: text;"></line></svg>
|
||||
<span>August 26, 2024</span></span>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</header>
|
||||
<div class="post-content"><h1 id="introduction">Introduction<a hidden class="anchor" aria-hidden="true" href="#introduction">¶</a></h1>
|
||||
<p>Finally, I’ve managed to pull together enough disparate components for the
|
||||
project to come together!</p>
|
||||
<p>Please welcome:</p>
|
||||
<p><strong>Hibbian Linux</strong>, a distribution aimed at ham radio operators.</p>
|
||||
<h1 id="another-one">Another one?<a hidden class="anchor" aria-hidden="true" href="#another-one">¶</a></h1>
|
||||
<p>I know - there’s plenty of options for radio operators to choose from.
|
||||
What makes this one different?</p>
|
||||
<h2 id="strong-foundations--long-term-support">Strong Foundations & Long Term Support<a hidden class="anchor" aria-hidden="true" href="#strong-foundations--long-term-support">¶</a></h2>
|
||||
<p>The system is built from the ground up on Debian Linux’s Stable release. This
|
||||
provides a strong foundation backed with years of security and support.</p>
|
||||
<h2 id="modern-software--fast-updates">Modern Software & Fast Updates<a hidden class="anchor" aria-hidden="true" href="#modern-software--fast-updates">¶</a></h2>
|
||||
<p>Debian’s strength is in its stability, but for some of the software we want to
|
||||
use, being up to date is more important. wjstx moves quickly, bpq moves quickly.
|
||||
Hibbian offers the latest packages from our community to keep on top of shifting
|
||||
standards and best practises.</p>
|
||||
<p>Some packages I maintain aren’t in Debian, but still deserve to be distributed
|
||||
easily to users. You’ll find them here!</p>
|
||||
<h2 id="deep-experience--active-operation">Deep Experience & Active Operation<a hidden class="anchor" aria-hidden="true" href="#deep-experience--active-operation">¶</a></h2>
|
||||
<p>Hibbian is the work of me - <a href="https://foxk.it">hibby</a>. I’m a core member of the
|
||||
<a href="https://debian.org">Debian Hamradio</a> team, maintaining software to be
|
||||
distributed to Debian, Ubuntu, Raspberry Pi, Mint and more for a decade. I’ve
|
||||
been running a repository of software for the <a href="https://ukpacketradio.network/">UK packet radio
|
||||
network</a>, and the lessons, sore points and work
|
||||
from this has naturally expanded into Hibbian.</p>
|
||||
<p>I run the software I maintain, I run software maintained by others and I try to
|
||||
make computers do interesting things over radio. In other words, I eat my own
|
||||
dog food.</p>
|
||||
<p>Where possible, contributions and modifications will go back to Debian and
|
||||
software authors.</p>
|
||||
<h2 id="stand-alone-principles">Stand-Alone Principles<a hidden class="anchor" aria-hidden="true" href="#stand-alone-principles">¶</a></h2>
|
||||
<p>I don’t believe in trusting other companies to host the code, data or the packages on
|
||||
my behalf - everything is owned and run as ‘Hibbian’.</p>
|
||||
<ul>
|
||||
<li>You will find the code on our own <a href="https://git.hibbian.org/Hibbian/">git
|
||||
forge</a>, where bug reports and issues are
|
||||
welcomed.</li>
|
||||
<li>You’ll find email communication hosted on Hibbian infrastructure</li>
|
||||
<li>You won’t find Hibbian on Discord - try JS8 or Packet.</li>
|
||||
</ul>
|
||||
<p>When all else fails, somehow I’ll still be able to continue and communicate.</p>
|
||||
<h1 id="two-ways-to-install">Two Ways to Install<a hidden class="anchor" aria-hidden="true" href="#two-ways-to-install">¶</a></h1>
|
||||
<p>There are two ways to run the Hibbian collection of software - as a repository
|
||||
for your existing OS, or as a complete OS itself.</p>
|
||||
<h2 id="repo">Repo<a hidden class="anchor" aria-hidden="true" href="#repo">¶</a></h2>
|
||||
<p>Can’t run the whole thing or don’t want to commit? Don’t worry - I ship software
|
||||
in the ‘repo’ for Debian & Raspberry Pi. You can pick and choose the latest
|
||||
packages to be delivered straight to your computer and not have to reinstall
|
||||
anything.</p>
|
||||
<ul>
|
||||
<li>Bullseye - 11 - Oldstable</li>
|
||||
<li>Bookworm - 12 - Stable</li>
|
||||
<li>Trixie - 13 Testing</li>
|
||||
</ul>
|
||||
<p>To learn more, see the installation pages on the
|
||||
<a href="https://guide.hibbian.org/repo/">guide</a>.</p>
|
||||
<h2 id="full-distro">Full Distro<a hidden class="anchor" aria-hidden="true" href="#full-distro">¶</a></h2>
|
||||
<p>For those who want a more convenient option, the full Hibbian distribution based
|
||||
on Debian Bookworm for x86_64 and Raspberry Pi will arrive later this year.</p>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<footer class="post-footer">
|
||||
</footer>
|
||||
<div class="comments-separator"></div>
|
||||
</article>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<span>© 2024 <a href="https://hibbian.org/"></a></span><span style="display: inline-block; margin-left: 1em;">
|
||||
<a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA</a>
|
||||
</span>
|
||||
<span style="display: inline-block; margin-left: 1em;">
|
||||
Powered by
|
||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||
<a href="https://github.com/reorx/hugo-PaperModX/" rel="noopener" target="_blank">PaperModX</a>
|
||||
</span>
|
||||
</footer>
|
||||
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||
<path d="M12 6H0l6-6z" />
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<script>
|
||||
(function() {
|
||||
|
||||
const disableThemeToggle = '' == '1';
|
||||
if (disableThemeToggle) {
|
||||
return;
|
||||
}
|
||||
|
||||
let button = document.getElementById("theme-toggle")
|
||||
|
||||
button.removeEventListener('click', toggleThemeListener)
|
||||
|
||||
button.addEventListener('click', toggleThemeListener)
|
||||
})();
|
||||
</script>
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
let menu = document.getElementById('menu')
|
||||
if (menu) {
|
||||
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||
menu.onscroll = function () {
|
||||
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||
}
|
||||
}
|
||||
|
||||
const disableSmoothScroll = '' == '1';
|
||||
const enableInstantClick = '' == '1';
|
||||
|
||||
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches || disableSmoothScroll || enableInstantClick) {
|
||||
return;
|
||||
}
|
||||
|
||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||
anchor.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
var id = this.getAttribute("href").substr(1);
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||
behavior: "smooth"
|
||||
});
|
||||
if (id === "top") {
|
||||
history.replaceState(null, null, " ");
|
||||
} else {
|
||||
history.pushState(null, null, `#${id}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
var mybutton = document.getElementById("top-link");
|
||||
window.onscroll = function () {
|
||||
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||
mybutton.style.visibility = "visible";
|
||||
mybutton.style.opacity = "1";
|
||||
} else {
|
||||
mybutton.style.visibility = "hidden";
|
||||
mybutton.style.opacity = "0";
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script>
|
||||
if (window.scrollListeners) {
|
||||
|
||||
for (const listener of scrollListeners) {
|
||||
window.removeEventListener('scroll', listener)
|
||||
}
|
||||
}
|
||||
window.scrollListeners = []
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script src="/js/medium-zoom.min.js" data-no-instant
|
||||
></script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
(function() {
|
||||
const enableTocScroll = '' == '1'
|
||||
if (!enableTocScroll) {
|
||||
return
|
||||
}
|
||||
if (!document.querySelector('.toc')) {
|
||||
console.log('no toc found, ignore toc scroll')
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
|
||||
const scrollListeners = window.scrollListeners
|
||||
const headings = document.querySelectorAll('h1[id],h2[id],h3[id],h4[id],h5[id]');
|
||||
const activeClass = 'active';
|
||||
|
||||
|
||||
let activeHeading = headings[0];
|
||||
getLinkByHeading(activeHeading).classList.add(activeClass);
|
||||
|
||||
const onScroll = () => {
|
||||
const passedHeadings = [];
|
||||
for (const h of headings) {
|
||||
|
||||
if (getOffsetTop(h) < 5) {
|
||||
passedHeadings.push(h)
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (passedHeadings.length > 0) {
|
||||
newActiveHeading = passedHeadings[passedHeadings.length - 1];
|
||||
} else {
|
||||
newActiveHeading = headings[0];
|
||||
}
|
||||
if (activeHeading != newActiveHeading) {
|
||||
getLinkByHeading(activeHeading).classList.remove(activeClass);
|
||||
activeHeading = newActiveHeading;
|
||||
getLinkByHeading(activeHeading).classList.add(activeClass);
|
||||
}
|
||||
}
|
||||
|
||||
let timer = null;
|
||||
const scrollListener = () => {
|
||||
if (timer !== null) {
|
||||
clearTimeout(timer)
|
||||
}
|
||||
timer = setTimeout(onScroll, 50)
|
||||
}
|
||||
window.addEventListener('scroll', scrollListener, false);
|
||||
scrollListeners.push(scrollListener)
|
||||
|
||||
function getLinkByHeading(heading) {
|
||||
const id = encodeURI(heading.getAttribute('id')).toLowerCase();
|
||||
return document.querySelector(`.toc ul li a[href="#${id}"]`);
|
||||
}
|
||||
|
||||
function getOffsetTop(heading) {
|
||||
if (!heading.getClientRects().length) {
|
||||
return 0;
|
||||
}
|
||||
let rect = heading.getBoundingClientRect();
|
||||
return rect.top
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,329 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" dir="auto">
|
||||
|
||||
<head><meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="robots" content="index, follow">
|
||||
<title>Posts | </title>
|
||||
<meta name="keywords" content="">
|
||||
<meta name="description" content="Posts - ">
|
||||
<meta name="author" content="Hibby">
|
||||
<link rel="canonical" href="https://hibbian.org/posts/">
|
||||
<link crossorigin="anonymous" href="/assets/css/stylesheet.min.7da7716a1f2d0725f74c6ae7f8d6adafc43aabe2b366b65bfbf433448e2a2001.css" integrity="sha256-fadxah8tByX3TGrn+Natr8Q6q+KzZrZb+/QzRI4qIAE=" rel="preload stylesheet" as="style">
|
||||
<link rel="icon" href="https://hibbian.org/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="https://hibbian.org/apple-touch-icon.png">
|
||||
<link rel="alternate" type="application/rss+xml" href="https://hibbian.org/posts/feed.xml">
|
||||
<link rel="alternate" hreflang="en" href="https://hibbian.org/posts/">
|
||||
|
||||
<meta name="twitter:title" content="Posts | " />
|
||||
<meta name="twitter:description" content="Debian, tailored for hams" />
|
||||
<meta property="og:title" content="Posts | " />
|
||||
<meta property="og:description" content="Debian, tailored for hams" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://hibbian.org/posts/" />
|
||||
<meta property="og:site_name" content="Hibbian Linux" />
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 1 ,
|
||||
"name": "Posts",
|
||||
"item": "https://hibbian.org/posts/"
|
||||
}
|
||||
]
|
||||
}
|
||||
</script>
|
||||
<noscript>
|
||||
<style>
|
||||
#theme-toggle,
|
||||
.top-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--theme: rgb(29, 30, 32);
|
||||
--entry: rgb(46, 46, 51);
|
||||
--primary: rgb(218, 218, 219);
|
||||
--secondary: rgb(155, 156, 157);
|
||||
--tertiary-bg: rgb(65, 66, 68);
|
||||
--content: rgb(196, 196, 197);
|
||||
--code-bg: rgb(55, 56, 62);
|
||||
--border: rgb(51, 51, 51);
|
||||
}
|
||||
|
||||
.list-page {
|
||||
background: var(--theme);
|
||||
}
|
||||
|
||||
.list-page:not(.dark)::-webkit-scrollbar-track {
|
||||
background: 0 0;
|
||||
}
|
||||
|
||||
.list-page:not(.dark)::-webkit-scrollbar-thumb {
|
||||
border-color: var(--theme);
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="list-page type-posts kind-section layout-" id="top"><script data-no-instant>
|
||||
function switchTheme(theme) {
|
||||
switch (theme) {
|
||||
case 'light':
|
||||
document.body.classList.remove('dark');
|
||||
break;
|
||||
case 'dark':
|
||||
document.body.classList.add('dark');
|
||||
break;
|
||||
|
||||
default:
|
||||
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
document.body.classList.add('dark');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function isDarkTheme() {
|
||||
return document.body.className.includes("dark");
|
||||
}
|
||||
|
||||
function getPrefTheme() {
|
||||
return localStorage.getItem("pref-theme");
|
||||
}
|
||||
|
||||
function setPrefTheme(theme) {
|
||||
switchTheme(theme)
|
||||
localStorage.setItem("pref-theme", theme);
|
||||
}
|
||||
|
||||
const toggleThemeCallbacks = {}
|
||||
toggleThemeCallbacks['main'] = (isDark) => {
|
||||
|
||||
if (isDark) {
|
||||
setPrefTheme('light');
|
||||
} else {
|
||||
setPrefTheme('dark');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
window.addEventListener('toggle-theme', function() {
|
||||
|
||||
const isDark = isDarkTheme()
|
||||
for (const key in toggleThemeCallbacks) {
|
||||
toggleThemeCallbacks[key](isDark)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function toggleThemeListener() {
|
||||
|
||||
window.dispatchEvent(new CustomEvent('toggle-theme'));
|
||||
}
|
||||
|
||||
</script>
|
||||
<script>
|
||||
|
||||
(function() {
|
||||
const defaultTheme = 'auto';
|
||||
const prefTheme = getPrefTheme();
|
||||
const theme = prefTheme ? prefTheme : defaultTheme;
|
||||
|
||||
switchTheme(theme);
|
||||
})();
|
||||
</script>
|
||||
|
||||
<header class="header">
|
||||
<nav class="nav">
|
||||
<div class="logo">
|
||||
<span class="logo-switches">
|
||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||
</svg>
|
||||
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="5"></circle>
|
||||
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||
</svg>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<ul id="menu">
|
||||
<li>
|
||||
<a href="https://hibbian.org/" title="Home" class="active"
|
||||
>Home
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://guide.hibbian.org/" title="Guide"
|
||||
>Guide
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://git.hibbian.org/" title="Git"
|
||||
>Git
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://hibbian.org/posts/" title="Posts" class="active"
|
||||
>Posts
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="main">
|
||||
<header class="page-header">
|
||||
<h1>
|
||||
Posts</h1><div class="inline-links">
|
||||
|
||||
|
||||
<span><a href="https://hibbian.org/posts/feed.xml" target="_blank">RSS</a></span></div>
|
||||
</header>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<article class="post-entry">
|
||||
<header class="entry-header">
|
||||
<h2>Introducing Hibbian Linux
|
||||
</h2>
|
||||
</header>
|
||||
<section class="entry-content">
|
||||
|
||||
<p>Introduction Finally, I’ve managed to pull together enough disparate components for the project to come together!
|
||||
Please welcome:
|
||||
Hibbian Linux, a distribution aimed at ham radio operators.
|
||||
Another one? I know - there’s plenty of options for radio operators to choose from. What makes this one different?
|
||||
Strong Foundations & Long Term Support The system is built from the ground up on Debian Linux’s Stable release. This provides a strong foundation backed with years of security and support....</p>
|
||||
|
||||
</section>
|
||||
<footer class="entry-footer"><span class="meta-item">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-calendar" style="user-select: text;"><rect x="3" y="4" width="18" height="18" rx="2" ry="2" style="user-select: text;"></rect><line x1="16" y1="2" x2="16" y2="6" style="user-select: text;"></line><line x1="8" y1="2" x2="8" y2="6" style="user-select: text;"></line><line x1="3" y1="10" x2="21" y2="10" style="user-select: text;"></line></svg>
|
||||
<span>August 26, 2024</span></span>
|
||||
</footer>
|
||||
<a class="entry-link" aria-label="post link to Introducing Hibbian Linux" href="https://hibbian.org/posts/hibbian-announce/"></a>
|
||||
</article>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<span>© 2024 <a href="https://hibbian.org/"></a></span><span style="display: inline-block; margin-left: 1em;">
|
||||
<a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA</a>
|
||||
</span>
|
||||
<span style="display: inline-block; margin-left: 1em;">
|
||||
Powered by
|
||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||
<a href="https://github.com/reorx/hugo-PaperModX/" rel="noopener" target="_blank">PaperModX</a>
|
||||
</span>
|
||||
</footer>
|
||||
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||
<path d="M12 6H0l6-6z" />
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<script>
|
||||
(function() {
|
||||
|
||||
const disableThemeToggle = '' == '1';
|
||||
if (disableThemeToggle) {
|
||||
return;
|
||||
}
|
||||
|
||||
let button = document.getElementById("theme-toggle")
|
||||
|
||||
button.removeEventListener('click', toggleThemeListener)
|
||||
|
||||
button.addEventListener('click', toggleThemeListener)
|
||||
})();
|
||||
</script>
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
let menu = document.getElementById('menu')
|
||||
if (menu) {
|
||||
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||
menu.onscroll = function () {
|
||||
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||
}
|
||||
}
|
||||
|
||||
const disableSmoothScroll = '' == '1';
|
||||
const enableInstantClick = '' == '1';
|
||||
|
||||
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches || disableSmoothScroll || enableInstantClick) {
|
||||
return;
|
||||
}
|
||||
|
||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||
anchor.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
var id = this.getAttribute("href").substr(1);
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||
behavior: "smooth"
|
||||
});
|
||||
if (id === "top") {
|
||||
history.replaceState(null, null, " ");
|
||||
} else {
|
||||
history.pushState(null, null, `#${id}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
var mybutton = document.getElementById("top-link");
|
||||
window.onscroll = function () {
|
||||
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||
mybutton.style.visibility = "visible";
|
||||
mybutton.style.opacity = "1";
|
||||
} else {
|
||||
mybutton.style.visibility = "hidden";
|
||||
mybutton.style.opacity = "0";
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script>
|
||||
if (window.scrollListeners) {
|
||||
|
||||
for (const listener of scrollListeners) {
|
||||
window.removeEventListener('scroll', listener)
|
||||
}
|
||||
}
|
||||
window.scrollListeners = []
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script src="/js/medium-zoom.min.js" data-no-instant
|
||||
></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,82 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||
<channel>
|
||||
<title>Posts on </title>
|
||||
<link>http://localhost:1313/posts/</link>
|
||||
<description>Recent content in Posts on </description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-GB</language>
|
||||
<lastBuildDate>Mon, 26 Aug 2024 23:34:26 +0100</lastBuildDate><atom:link href="http://localhost:1313/posts/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>Hibbian Linux</title>
|
||||
<link>http://localhost:1313/posts/first-post/</link>
|
||||
<pubDate>Mon, 26 Aug 2024 23:34:26 +0100</pubDate>
|
||||
|
||||
<guid>http://localhost:1313/posts/first-post/</guid>
|
||||
<description>Introduction Finally, I&rsquo;ve managed to pull together enough disparate components for the project to come together!
|
||||
Please welcome:
|
||||
Hibbian Linux, a distribution aimed at ham radio operators.
|
||||
Another one? I know - there&rsquo;s plenty of options for radio operators to choose from. What makes this one different?
|
||||
Strong Foundations &amp; Long Term Support The system is built from the ground up on Debian Linux&rsquo;s Stable release. This provides a strong foundation backed with years of security and support.</description>
|
||||
<content:encoded><![CDATA[<h1 id="introduction">Introduction</h1>
|
||||
<p>Finally, I’ve managed to pull together enough disparate components for the
|
||||
project to come together!</p>
|
||||
<p>Please welcome:</p>
|
||||
<p><strong>Hibbian Linux</strong>, a distribution aimed at ham radio operators.</p>
|
||||
<h1 id="another-one">Another one?</h1>
|
||||
<p>I know - there’s plenty of options for radio operators to choose from.
|
||||
What makes this one different?</p>
|
||||
<h2 id="strong-foundations--long-term-support">Strong Foundations & Long Term Support</h2>
|
||||
<p>The system is built from the ground up on Debian Linux’s Stable release. This
|
||||
provides a strong foundation backed with years of security and support.</p>
|
||||
<h2 id="modern-software--fast-updates">Modern Software & Fast Updates</h2>
|
||||
<p>Debian’s strength is in its stability, but for some of the software we want to
|
||||
use, being up to date is more important. wjstx moves quickly, bpq moves quickly.
|
||||
Hibbian offers the latest packages from our community to keep on top of shifting
|
||||
standards and best practises.</p>
|
||||
<p>Some packages I maintain aren’t in Debian, but still deserve to be distributed
|
||||
easily to users. You’ll find them here!</p>
|
||||
<h2 id="deep-experience--active-operation">Deep Experience & Active Operation</h2>
|
||||
<p>Hibbian is the work of me - <a href="https://foxk.it">hibby</a>. I’m a core member of the
|
||||
<a href="https://debian.org">Debian Hamradio</a> team, maintaining software to be
|
||||
distributed to Debian, Ubuntu, Raspberry Pi, Mint and more for a decade. I’ve
|
||||
been running a repository of software for the <a href="https://ukpacketradio.network/">UK packet radio
|
||||
network</a>, and the lessons, sore points and work
|
||||
from this has naturally expanded into Hibbian.</p>
|
||||
<p>I run the software I maintain, I run software maintained by others and I try to
|
||||
make computers do interesting things over radio. In other words, I eat my own
|
||||
dog food.</p>
|
||||
<p>Where possible, contributions and modifications will go back to Debian and
|
||||
software authors.</p>
|
||||
<h2 id="stand-alone-principles">Stand-Alone Principles</h2>
|
||||
<p>I don’t believe in trusting other companies to host the code, data or the packages on
|
||||
my behalf - everything is owned and run as ‘Hibbian’.</p>
|
||||
<ul>
|
||||
<li>You will find the code on our own <a href="https://git.hibbian.org/Hibbian/">git
|
||||
forge</a>, where bug reports and issues are
|
||||
welcomed.</li>
|
||||
<li>You’ll find email communication hosted on Hibbian infrastructure</li>
|
||||
<li>You won’t find Hibbian on Discord - try JS8 or Packet.</li>
|
||||
</ul>
|
||||
<p>When all else fails, somehow I’ll still be able to continue and communicate.</p>
|
||||
<h1 id="two-ways-to-install">Two Ways to Install</h1>
|
||||
<p>Can’t run the whole thing or don’t want to commit?</p>
|
||||
<h2 id="repo">Repo</h2>
|
||||
<p>Don’t worry - I ship software in the ‘repo’ for Debian & Raspberry Pi. You can
|
||||
pick and choose the latest packages to be delivered straight to your computer
|
||||
and not have to reinstall anything.</p>
|
||||
<ul>
|
||||
<li>Bullseye - 11 - Oldstable</li>
|
||||
<li>Bookworm - 12 - Stable</li>
|
||||
<li>Trixie - 13 Testing</li>
|
||||
</ul>
|
||||
<p>To learn more, see the installation pages on the
|
||||
<a href="https://guide.hibbian.org/repo/">guide</a>.</p>
|
||||
<h2 id="full-distro">Full Distro</h2>
|
||||
<p>For those who want a more convenient option, the full Hibbian distribution based
|
||||
on Debian Bookworm for x86_64 and Raspberry Pi will arrive later this year.</p>
|
||||
]]></content:encoded>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
|
@ -0,0 +1,10 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>https://hibbian.org/posts/</title>
|
||||
<link rel="canonical" href="https://hibbian.org/posts/">
|
||||
<meta name="robots" content="noindex">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=https://hibbian.org/posts/">
|
||||
</head>
|
||||
</html>
|
|
@ -0,0 +1,3 @@
|
|||
User-agent: *
|
||||
Disallow:
|
||||
Sitemap: https://hibbian.org/sitemap.xml
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
||||
<url>
|
||||
<loc>https://hibbian.org/</loc>
|
||||
<lastmod>2024-08-26T23:34:26+01:00</lastmod>
|
||||
</url><url>
|
||||
<loc>https://hibbian.org/posts/hibbian-announce/</loc>
|
||||
<lastmod>2024-08-26T23:34:26+01:00</lastmod>
|
||||
</url><url>
|
||||
<loc>https://hibbian.org/posts/</loc>
|
||||
<lastmod>2024-08-26T23:34:26+01:00</lastmod>
|
||||
</url><url>
|
||||
<loc>https://hibbian.org/categories/</loc>
|
||||
</url><url>
|
||||
<loc>https://hibbian.org/tags/</loc>
|
||||
</url>
|
||||
</urlset>
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||
<channel>
|
||||
<title>Tags on </title>
|
||||
<link>https://hibbian.org/tags/</link>
|
||||
<description>Recent content in Tags on </description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en</language><atom:link href="https://hibbian.org/tags/feed.xml" rel="self" type="application/rss+xml" />
|
||||
</channel>
|
||||
</rss>
|
|
@ -0,0 +1,287 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" dir="auto">
|
||||
|
||||
<head><meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="robots" content="index, follow">
|
||||
<title>Tags | </title>
|
||||
<meta name="keywords" content="">
|
||||
<meta name="description" content="Debian, tailored for hams">
|
||||
<meta name="author" content="Hibby">
|
||||
<link rel="canonical" href="https://hibbian.org/tags/">
|
||||
<link crossorigin="anonymous" href="/assets/css/stylesheet.min.7da7716a1f2d0725f74c6ae7f8d6adafc43aabe2b366b65bfbf433448e2a2001.css" integrity="sha256-fadxah8tByX3TGrn+Natr8Q6q+KzZrZb+/QzRI4qIAE=" rel="preload stylesheet" as="style">
|
||||
<link rel="icon" href="https://hibbian.org/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="https://hibbian.org/apple-touch-icon.png">
|
||||
<link rel="alternate" type="application/rss+xml" href="https://hibbian.org/tags/feed.xml">
|
||||
<link rel="alternate" hreflang="en" href="https://hibbian.org/tags/">
|
||||
|
||||
<meta name="twitter:title" content="Tags | " />
|
||||
<meta name="twitter:description" content="Debian, tailored for hams" />
|
||||
<meta property="og:title" content="Tags | " />
|
||||
<meta property="og:description" content="Debian, tailored for hams" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://hibbian.org/tags/" />
|
||||
<meta property="og:site_name" content="Hibbian Linux" />
|
||||
|
||||
<noscript>
|
||||
<style>
|
||||
#theme-toggle,
|
||||
.top-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--theme: rgb(29, 30, 32);
|
||||
--entry: rgb(46, 46, 51);
|
||||
--primary: rgb(218, 218, 219);
|
||||
--secondary: rgb(155, 156, 157);
|
||||
--tertiary-bg: rgb(65, 66, 68);
|
||||
--content: rgb(196, 196, 197);
|
||||
--code-bg: rgb(55, 56, 62);
|
||||
--border: rgb(51, 51, 51);
|
||||
}
|
||||
|
||||
.list-page {
|
||||
background: var(--theme);
|
||||
}
|
||||
|
||||
.list-page:not(.dark)::-webkit-scrollbar-track {
|
||||
background: 0 0;
|
||||
}
|
||||
|
||||
.list-page:not(.dark)::-webkit-scrollbar-thumb {
|
||||
border-color: var(--theme);
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="list-page type-tags kind-taxonomy layout-" id="top"><script data-no-instant>
|
||||
function switchTheme(theme) {
|
||||
switch (theme) {
|
||||
case 'light':
|
||||
document.body.classList.remove('dark');
|
||||
break;
|
||||
case 'dark':
|
||||
document.body.classList.add('dark');
|
||||
break;
|
||||
|
||||
default:
|
||||
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
document.body.classList.add('dark');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function isDarkTheme() {
|
||||
return document.body.className.includes("dark");
|
||||
}
|
||||
|
||||
function getPrefTheme() {
|
||||
return localStorage.getItem("pref-theme");
|
||||
}
|
||||
|
||||
function setPrefTheme(theme) {
|
||||
switchTheme(theme)
|
||||
localStorage.setItem("pref-theme", theme);
|
||||
}
|
||||
|
||||
const toggleThemeCallbacks = {}
|
||||
toggleThemeCallbacks['main'] = (isDark) => {
|
||||
|
||||
if (isDark) {
|
||||
setPrefTheme('light');
|
||||
} else {
|
||||
setPrefTheme('dark');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
window.addEventListener('toggle-theme', function() {
|
||||
|
||||
const isDark = isDarkTheme()
|
||||
for (const key in toggleThemeCallbacks) {
|
||||
toggleThemeCallbacks[key](isDark)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function toggleThemeListener() {
|
||||
|
||||
window.dispatchEvent(new CustomEvent('toggle-theme'));
|
||||
}
|
||||
|
||||
</script>
|
||||
<script>
|
||||
|
||||
(function() {
|
||||
const defaultTheme = 'auto';
|
||||
const prefTheme = getPrefTheme();
|
||||
const theme = prefTheme ? prefTheme : defaultTheme;
|
||||
|
||||
switchTheme(theme);
|
||||
})();
|
||||
</script>
|
||||
|
||||
<header class="header">
|
||||
<nav class="nav">
|
||||
<div class="logo">
|
||||
<span class="logo-switches">
|
||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
||||
</svg>
|
||||
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
<circle cx="12" cy="12" r="5"></circle>
|
||||
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||
</svg>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<ul id="menu">
|
||||
<li>
|
||||
<a href="https://hibbian.org/" title="Home" class="active"
|
||||
>Home
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://guide.hibbian.org/" title="Guide"
|
||||
>Guide
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://git.hibbian.org/" title="Git"
|
||||
>Git
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://hibbian.org/posts/" title="Posts"
|
||||
>Posts
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<main class="main">
|
||||
<header class="page-header">
|
||||
<h1>Tags</h1>
|
||||
</header>
|
||||
|
||||
<ul class="terms-tags">
|
||||
</ul>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<span>© 2024 <a href="https://hibbian.org/"></a></span><span style="display: inline-block; margin-left: 1em;">
|
||||
<a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA</a>
|
||||
</span>
|
||||
<span style="display: inline-block; margin-left: 1em;">
|
||||
Powered by
|
||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||
<a href="https://github.com/reorx/hugo-PaperModX/" rel="noopener" target="_blank">PaperModX</a>
|
||||
</span>
|
||||
</footer>
|
||||
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
||||
<path d="M12 6H0l6-6z" />
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<script>
|
||||
(function() {
|
||||
|
||||
const disableThemeToggle = '' == '1';
|
||||
if (disableThemeToggle) {
|
||||
return;
|
||||
}
|
||||
|
||||
let button = document.getElementById("theme-toggle")
|
||||
|
||||
button.removeEventListener('click', toggleThemeListener)
|
||||
|
||||
button.addEventListener('click', toggleThemeListener)
|
||||
})();
|
||||
</script>
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
let menu = document.getElementById('menu')
|
||||
if (menu) {
|
||||
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
||||
menu.onscroll = function () {
|
||||
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
||||
}
|
||||
}
|
||||
|
||||
const disableSmoothScroll = '' == '1';
|
||||
const enableInstantClick = '' == '1';
|
||||
|
||||
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches || disableSmoothScroll || enableInstantClick) {
|
||||
return;
|
||||
}
|
||||
|
||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||
anchor.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
var id = this.getAttribute("href").substr(1);
|
||||
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
||||
behavior: "smooth"
|
||||
});
|
||||
if (id === "top") {
|
||||
history.replaceState(null, null, " ");
|
||||
} else {
|
||||
history.pushState(null, null, `#${id}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
var mybutton = document.getElementById("top-link");
|
||||
window.onscroll = function () {
|
||||
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
||||
mybutton.style.visibility = "visible";
|
||||
mybutton.style.opacity = "1";
|
||||
} else {
|
||||
mybutton.style.visibility = "hidden";
|
||||
mybutton.style.opacity = "0";
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<script>
|
||||
if (window.scrollListeners) {
|
||||
|
||||
for (const listener of scrollListeners) {
|
||||
window.removeEventListener('scroll', listener)
|
||||
}
|
||||
}
|
||||
window.scrollListeners = []
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script src="/js/medium-zoom.min.js" data-no-instant
|
||||
></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||
<channel>
|
||||
<title>Tags on </title>
|
||||
<link>http://localhost:1313/tags/</link>
|
||||
<description>Recent content in Tags on </description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-GB</language><atom:link href="http://localhost:1313/tags/index.xml" rel="self" type="application/rss+xml" />
|
||||
</channel>
|
||||
</rss>
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
|||
{"Target":"/ananke/css/main.min.css","MediaType":"text/css","Data":{}}
|
|
@ -0,0 +1,296 @@
|
|||
@charset "UTF-8";
|
||||
/*
|
||||
color candidates:
|
||||
#48C0A3 青碧
|
||||
#519A73 蒼黃
|
||||
#1BD1A5 碧色
|
||||
#7BCFA6 玉色
|
||||
*/
|
||||
body.type-essays {
|
||||
--signature: #48C0A3;
|
||||
--signature-bg: rgba(72, 192, 164, 0.427);
|
||||
--siguature-bg-dim: rgba(72, 192, 164, 0.298);
|
||||
--link-hover-color: var(--signature);
|
||||
--link-hover-underline-color: var(--signature);
|
||||
--link-hover-underline-shadow: 0 2px 0 var(--link-hover-underline-color);
|
||||
--link-background-color: var(--siguature-bg-dim); }
|
||||
body.type-essays .post-entry {
|
||||
/* same as .post-header h2 */ }
|
||||
body.type-essays .post-entry .entry-title {
|
||||
font-size: 24px;
|
||||
line-height: 1.3;
|
||||
margin-bottom: calc(var(--content-gap) / 2); }
|
||||
body.type-essays .post-entry .entry-title a {
|
||||
color: var(--primary);
|
||||
transition: var(--link-transition); }
|
||||
body.type-essays .post-entry .entry-title a:hover {
|
||||
color: var(--link-hover-color);
|
||||
box-shadow: var(--link-hover-underline-shadow); }
|
||||
body.type-essays .post-entry .post-meta {
|
||||
margin-bottom: var(--content-gap); }
|
||||
|
||||
/*
|
||||
color candidates:
|
||||
#CB3A56 茜色
|
||||
#F05654 銀紅
|
||||
#F20C00 石榴紅
|
||||
#FF2D51 火紅
|
||||
*/
|
||||
body.type-newsletter {
|
||||
--signature: #CB3A56;
|
||||
--signature-bg: rgba(203, 58, 87, 0.239);
|
||||
--signature-bg-dim: rgba(203, 58, 87, 0.147);
|
||||
--signature-bg-dimmer: rgba(203, 58, 87, 0.084);
|
||||
--main-border: 5px solid var(--signature);
|
||||
--icon-length: 50px;
|
||||
--icon-font-size: 32px;
|
||||
--link-hover-color: var(--signature);
|
||||
--link-hover-underline-color: var(--signature);
|
||||
--link-hover-underline-shadow: 0 2px 0 var(--link-hover-underline-color);
|
||||
--link-background-color: var(--signature-bg-dim);
|
||||
/* a links in section/archives page content and regular page post-content */
|
||||
/* shared */ }
|
||||
@media screen and (max-width: 500px) {
|
||||
body.type-newsletter {
|
||||
--icon-length: 40px;
|
||||
--icon-font-size: 24px; } }
|
||||
body.type-newsletter.kind-section .main .content a, body.type-newsletter.layout-archives .main .content a, body.type-newsletter.kind-page .post-content a {
|
||||
font-weight: 500;
|
||||
color: var(--primary);
|
||||
box-shadow: var(--link-underline-shadow); }
|
||||
body.type-newsletter.kind-section .main .content a:hover, body.type-newsletter.layout-archives .main .content a:hover, body.type-newsletter.kind-page .post-content a:hover {
|
||||
color: var(--link-hover-color);
|
||||
box-shadow: var(--link-hover-underline-shadow); }
|
||||
body.type-newsletter .subscribe-form {
|
||||
margin: calc(var(--content-gap) * 2) 0; }
|
||||
body.type-newsletter .subscribe-form form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
line-height: 1.2em;
|
||||
flex-wrap: wrap; }
|
||||
body.type-newsletter .subscribe-form .input-group {
|
||||
display: flex;
|
||||
flex-wrap: wrap; }
|
||||
body.type-newsletter .subscribe-form .subscribe-option {
|
||||
margin-top: 8px; }
|
||||
body.type-newsletter .subscribe-form input[type=text] {
|
||||
border: 3px solid var(--signature-bg-dim);
|
||||
color: var(--secondary);
|
||||
border-radius: 0px;
|
||||
border-color: var(--signature-bg);
|
||||
appearance: none;
|
||||
outline: none;
|
||||
background-color: var(--theme);
|
||||
flex-grow: 1;
|
||||
padding: 9px 15px;
|
||||
transition: var(--link-transition); }
|
||||
body.type-newsletter .subscribe-form input[type=text]:focus {
|
||||
color: var(--primary);
|
||||
border-color: var(--signature); }
|
||||
body.type-newsletter .subscribe-form button {
|
||||
display: block;
|
||||
background-color: var(--signature);
|
||||
color: var(--theme);
|
||||
padding: 12px 15px;
|
||||
margin-left: var(--content-gap);
|
||||
white-space: nowrap; }
|
||||
body.type-newsletter .subscribe-form label, body.type-newsletter .subscribe-form .label {
|
||||
font-size: .85em;
|
||||
margin-right: 16px; }
|
||||
body.type-newsletter .subscribe-form .label {
|
||||
color: var(--secondary);
|
||||
line-height: 1.2; }
|
||||
body.type-newsletter .subscribe-form input[type=radio] {
|
||||
margin-left: 0;
|
||||
margin-top: 0; }
|
||||
@media screen and (max-width: 500px) {
|
||||
body.type-newsletter .subscribe-form {
|
||||
font-size: .9em; }
|
||||
body.type-newsletter .subscribe-form input[type=text] {
|
||||
padding-left: 8px;
|
||||
padding-right: 8px; }
|
||||
body.type-newsletter .subscribe-form button {
|
||||
width: 96px;
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
padding-right: 0; }
|
||||
body.type-newsletter .subscribe-form .hide-for-sm {
|
||||
display: none; }
|
||||
body.type-newsletter .subscribe-form .label {
|
||||
display: block;
|
||||
width: 100%;
|
||||
margin-bottom: 4px; } }
|
||||
body.type-newsletter.kind-section,
|
||||
body.type-newsletter.layout-archives {
|
||||
/* section/archives page */ }
|
||||
body.type-newsletter.kind-section .main,
|
||||
body.type-newsletter.layout-archives .main {
|
||||
border: var(--main-border);
|
||||
background-color: var(--theme);
|
||||
margin-top: var(--content-gap);
|
||||
padding-top: 0;
|
||||
padding-bottom: var(--icon-length);
|
||||
min-height: calc(100vh - var(--header-height) - var(--footer-height) - var(--content-gap));
|
||||
max-width: var(--nav-width); }
|
||||
@media screen and (max-width: 960px) {
|
||||
body.type-newsletter.kind-section .main,
|
||||
body.type-newsletter.layout-archives .main {
|
||||
margin-left: var(--gap);
|
||||
margin-right: var(--gap); } }
|
||||
body.type-newsletter.kind-section .main-icon,
|
||||
body.type-newsletter.layout-archives .main-icon {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: var(--icon-length);
|
||||
height: var(--icon-length);
|
||||
line-height: calc(var(--icon-length) - 3px);
|
||||
border-right: var(--main-border);
|
||||
border-bottom: var(--main-border);
|
||||
background-color: var(--signature);
|
||||
color: var(--theme);
|
||||
font-size: var(--icon-font-size);
|
||||
text-align: center; }
|
||||
body.type-newsletter.kind-section .main .content,
|
||||
body.type-newsletter.layout-archives .main .content {
|
||||
max-width: calc(var(--post-width));
|
||||
margin: var(--icon-length) auto 0; }
|
||||
body.type-newsletter.kind-section .main .first-entry,
|
||||
body.type-newsletter.layout-archives .main .first-entry {
|
||||
margin-bottom: 0; }
|
||||
body.type-newsletter.kind-section .main h1,
|
||||
body.type-newsletter.layout-archives .main h1 {
|
||||
text-align: center;
|
||||
margin-bottom: 10px; }
|
||||
body.type-newsletter.kind-section .main .subtitle,
|
||||
body.type-newsletter.layout-archives .main .subtitle {
|
||||
text-align: center;
|
||||
color: var(--secondary);
|
||||
line-height: 1.2em;
|
||||
margin-bottom: var(--content-gap); }
|
||||
body.type-newsletter.kind-section .main h2,
|
||||
body.type-newsletter.layout-archives .main h2 {
|
||||
margin: 40px 0 20px; }
|
||||
body.type-newsletter.kind-section .main .list,
|
||||
body.type-newsletter.layout-archives .main .list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-bottom: var(--content-gap); }
|
||||
body.type-newsletter.kind-section .main .list .item,
|
||||
body.type-newsletter.layout-archives .main .list .item {
|
||||
display: flex;
|
||||
border-bottom: 1px solid var(--tertiary-bg);
|
||||
padding: 8px 0; }
|
||||
body.type-newsletter.kind-section .main .list .item .date, body.type-newsletter.kind-section .main .list .item .issueno,
|
||||
body.type-newsletter.layout-archives .main .list .item .date,
|
||||
body.type-newsletter.layout-archives .main .list .item .issueno {
|
||||
font-size: .9em;
|
||||
color: var(--secondary); }
|
||||
body.type-newsletter.kind-section .main .list .item .date,
|
||||
body.type-newsletter.layout-archives .main .list .item .date {
|
||||
width: 150px; }
|
||||
body.type-newsletter.kind-section .main .list .item .title,
|
||||
body.type-newsletter.layout-archives .main .list .item .title {
|
||||
flex-grow: 1;
|
||||
font-weight: 500; }
|
||||
body.type-newsletter.kind-section .main .list .item .title a,
|
||||
body.type-newsletter.layout-archives .main .list .item .title a {
|
||||
display: block;
|
||||
width: 100%;
|
||||
box-shadow: none; }
|
||||
body.type-newsletter.kind-section .main .list .item .title a:hover,
|
||||
body.type-newsletter.layout-archives .main .list .item .title a:hover {
|
||||
color: var(--signature); }
|
||||
body.type-newsletter.kind-section .main .list .item .title em,
|
||||
body.type-newsletter.layout-archives .main .list .item .title em {
|
||||
color: var(--secondary);
|
||||
font-style: normal;
|
||||
font-size: .8em;
|
||||
margin-inline-start: 1em;
|
||||
vertical-align: top; }
|
||||
body.type-newsletter.kind-section .main .list .item .issueno,
|
||||
body.type-newsletter.layout-archives .main .list .item .issueno {
|
||||
width: 50px;
|
||||
text-align: right; }
|
||||
@media screen and (max-width: 500px) {
|
||||
body.type-newsletter.kind-section .main .list .item,
|
||||
body.type-newsletter.layout-archives .main .list .item {
|
||||
flex-wrap: wrap; }
|
||||
body.type-newsletter.kind-section .main .list .item .date,
|
||||
body.type-newsletter.layout-archives .main .list .item .date {
|
||||
flex-grow: 1;
|
||||
order: 1; }
|
||||
body.type-newsletter.kind-section .main .list .item .issueno,
|
||||
body.type-newsletter.layout-archives .main .list .item .issueno {
|
||||
order: 2; }
|
||||
body.type-newsletter.kind-section .main .list .item .title,
|
||||
body.type-newsletter.layout-archives .main .list .item .title {
|
||||
order: 3;
|
||||
flex-grow: 1; } }
|
||||
/* regular page */
|
||||
body.type-newsletter.kind-page .newsletter-brand {
|
||||
--icon-length: 50px;
|
||||
--padding: 15px;
|
||||
display: flex;
|
||||
background-color: var(--signature-bg-dim);
|
||||
transition: var(--link-transition);
|
||||
font-size: 32px;
|
||||
margin-bottom: var(--content-gap);
|
||||
line-height: var(--icon-length);
|
||||
box-shadow: none; }
|
||||
body.type-newsletter.kind-page .newsletter-brand .icon, body.type-newsletter.kind-page .newsletter-brand .name {
|
||||
height: var(--icon-length); }
|
||||
body.type-newsletter.kind-page .newsletter-brand .icon {
|
||||
width: var(--icon-length);
|
||||
color: var(--theme);
|
||||
text-align: center;
|
||||
background-color: var(--signature); }
|
||||
body.type-newsletter.kind-page .newsletter-brand .name {
|
||||
padding: 0 var(--padding);
|
||||
font-weight: bolder;
|
||||
color: var(--signature); }
|
||||
body.type-newsletter.kind-page .newsletter-brand .remark {
|
||||
color: var(--signature);
|
||||
font-weight: 300;
|
||||
transition: var(--link-transition); }
|
||||
body.type-newsletter.kind-page .newsletter-brand .arrow {
|
||||
margin-left: auto;
|
||||
color: transparent;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-right: var(--padding);
|
||||
transition: var(--link-transition); }
|
||||
body.type-newsletter.kind-page .newsletter-brand:hover, body.type-newsletter.kind-page .newsletter-brand:active {
|
||||
box-shadow: none;
|
||||
background-color: var(--signature-bg); }
|
||||
body.type-newsletter.kind-page .newsletter-brand:hover .arrow, body.type-newsletter.kind-page .newsletter-brand:active .arrow {
|
||||
color: var(--signature); }
|
||||
body.type-newsletter.kind-page .newsletter-brand:hover .remark, body.type-newsletter.kind-page .newsletter-brand:active .remark {
|
||||
color: transparent; }
|
||||
|
||||
@media screen and (max-width: 500px) {
|
||||
body.type-newsletter.kind-page .newsletter-brand {
|
||||
font-size: 24px; }
|
||||
body.type-newsletter.kind-page .newsletter-brand .remark {
|
||||
margin-left: auto;
|
||||
padding-right: var(--padding); }
|
||||
body.type-newsletter.kind-page .newsletter-brand .arrow {
|
||||
display: none; } }
|
||||
|
||||
body.type-newsletter.kind-page .post-title {
|
||||
font-size: 36px; }
|
||||
|
||||
body.type-newsletter.kind-page .post-footer {
|
||||
border-bottom-color: var(--signature); }
|
||||
|
||||
body.type-newsletter.kind-page .newsletter-sub {
|
||||
margin-top: calc(var(--content-gap) * 1.5);
|
||||
background-color: var(--signature-bg-dimmer);
|
||||
padding: var(--content-gap) var(--gap); }
|
||||
body.type-newsletter.kind-page .newsletter-sub .notice {
|
||||
font-size: .9em;
|
||||
font-weight: bold;
|
||||
color: var(--signature);
|
||||
line-height: 1.6; }
|
||||
body.type-newsletter.kind-page .newsletter-sub .subscribe-form {
|
||||
margin: var(--content-gap) 0 0; }
|
|
@ -0,0 +1 @@
|
|||
{"Target":"/assets/css/extended.css","MediaType":"text/css","Data":{}}
|
|
@ -0,0 +1,571 @@
|
|||
/* Background */
|
||||
.chroma {
|
||||
background-color: #ffffff; }
|
||||
|
||||
/* Other */
|
||||
/* Error */
|
||||
.chroma .err {
|
||||
color: #a61717;
|
||||
background-color: #e3d2d2; }
|
||||
|
||||
/* LineTableTD */
|
||||
.chroma .lntd {
|
||||
vertical-align: top;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0; }
|
||||
|
||||
/* LineTable */
|
||||
.chroma .lntable {
|
||||
border-spacing: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
width: auto;
|
||||
overflow: auto;
|
||||
display: block; }
|
||||
|
||||
/* LineHighlight */
|
||||
.chroma .hl {
|
||||
display: block;
|
||||
width: 100%;
|
||||
background-color: #ffffcc; }
|
||||
|
||||
/* LineNumbersTable */
|
||||
.chroma .lnt {
|
||||
margin-right: 0.4em;
|
||||
padding: 0 0.4em 0 0.4em;
|
||||
color: #7f7f7f; }
|
||||
|
||||
/* LineNumbers */
|
||||
.chroma .ln {
|
||||
margin-right: 0.4em;
|
||||
padding: 0 0.4em 0 0.4em;
|
||||
color: #7f7f7f; }
|
||||
|
||||
/* Keyword */
|
||||
.chroma .k {
|
||||
color: #000000;
|
||||
font-weight: bold; }
|
||||
|
||||
/* KeywordConstant */
|
||||
.chroma .kc {
|
||||
color: #000000;
|
||||
font-weight: bold; }
|
||||
|
||||
/* KeywordDeclaration */
|
||||
.chroma .kd {
|
||||
color: #000000;
|
||||
font-weight: bold; }
|
||||
|
||||
/* KeywordNamespace */
|
||||
.chroma .kn {
|
||||
color: #000000;
|
||||
font-weight: bold; }
|
||||
|
||||
/* KeywordPseudo */
|
||||
.chroma .kp {
|
||||
color: #000000;
|
||||
font-weight: bold; }
|
||||
|
||||
/* KeywordReserved */
|
||||
.chroma .kr {
|
||||
color: #000000;
|
||||
font-weight: bold; }
|
||||
|
||||
/* KeywordType */
|
||||
.chroma .kt {
|
||||
color: #445588;
|
||||
font-weight: bold; }
|
||||
|
||||
/* Name */
|
||||
/* NameAttribute */
|
||||
.chroma .na {
|
||||
color: #008080; }
|
||||
|
||||
/* NameBuiltin */
|
||||
.chroma .nb {
|
||||
color: #0086b3; }
|
||||
|
||||
/* NameBuiltinPseudo */
|
||||
.chroma .bp {
|
||||
color: #999999; }
|
||||
|
||||
/* NameClass */
|
||||
.chroma .nc {
|
||||
color: #445588;
|
||||
font-weight: bold; }
|
||||
|
||||
/* NameConstant */
|
||||
.chroma .no {
|
||||
color: #008080; }
|
||||
|
||||
/* NameDecorator */
|
||||
.chroma .nd {
|
||||
color: #3c5d5d;
|
||||
font-weight: bold; }
|
||||
|
||||
/* NameEntity */
|
||||
.chroma .ni {
|
||||
color: #800080; }
|
||||
|
||||
/* NameException */
|
||||
.chroma .ne {
|
||||
color: #990000;
|
||||
font-weight: bold; }
|
||||
|
||||
/* NameFunction */
|
||||
.chroma .nf {
|
||||
color: #990000;
|
||||
font-weight: bold; }
|
||||
|
||||
/* NameFunctionMagic */
|
||||
/* NameLabel */
|
||||
.chroma .nl {
|
||||
color: #990000;
|
||||
font-weight: bold; }
|
||||
|
||||
/* NameNamespace */
|
||||
.chroma .nn {
|
||||
color: #555555; }
|
||||
|
||||
/* NameOther */
|
||||
/* NameProperty */
|
||||
/* NameTag */
|
||||
.chroma .nt {
|
||||
color: #000080; }
|
||||
|
||||
/* NameVariable */
|
||||
.chroma .nv {
|
||||
color: #008080; }
|
||||
|
||||
/* NameVariableClass */
|
||||
.chroma .vc {
|
||||
color: #008080; }
|
||||
|
||||
/* NameVariableGlobal */
|
||||
.chroma .vg {
|
||||
color: #008080; }
|
||||
|
||||
/* NameVariableInstance */
|
||||
.chroma .vi {
|
||||
color: #008080; }
|
||||
|
||||
/* NameVariableMagic */
|
||||
/* Literal */
|
||||
/* LiteralDate */
|
||||
/* LiteralString */
|
||||
.chroma .s {
|
||||
color: #dd1144; }
|
||||
|
||||
/* LiteralStringAffix */
|
||||
.chroma .sa {
|
||||
color: #dd1144; }
|
||||
|
||||
/* LiteralStringBacktick */
|
||||
.chroma .sb {
|
||||
color: #dd1144; }
|
||||
|
||||
/* LiteralStringChar */
|
||||
.chroma .sc {
|
||||
color: #dd1144; }
|
||||
|
||||
/* LiteralStringDelimiter */
|
||||
.chroma .dl {
|
||||
color: #dd1144; }
|
||||
|
||||
/* LiteralStringDoc */
|
||||
.chroma .sd {
|
||||
color: #dd1144; }
|
||||
|
||||
/* LiteralStringDouble */
|
||||
.chroma .s2 {
|
||||
color: #dd1144; }
|
||||
|
||||
/* LiteralStringEscape */
|
||||
.chroma .se {
|
||||
color: #dd1144; }
|
||||
|
||||
/* LiteralStringHeredoc */
|
||||
.chroma .sh {
|
||||
color: #dd1144; }
|
||||
|
||||
/* LiteralStringInterpol */
|
||||
.chroma .si {
|
||||
color: #dd1144; }
|
||||
|
||||
/* LiteralStringOther */
|
||||
.chroma .sx {
|
||||
color: #dd1144; }
|
||||
|
||||
/* LiteralStringRegex */
|
||||
.chroma .sr {
|
||||
color: #009926; }
|
||||
|
||||
/* LiteralStringSingle */
|
||||
.chroma .s1 {
|
||||
color: #dd1144; }
|
||||
|
||||
/* LiteralStringSymbol */
|
||||
.chroma .ss {
|
||||
color: #990073; }
|
||||
|
||||
/* LiteralNumber */
|
||||
.chroma .m {
|
||||
color: #009999; }
|
||||
|
||||
/* LiteralNumberBin */
|
||||
.chroma .mb {
|
||||
color: #009999; }
|
||||
|
||||
/* LiteralNumberFloat */
|
||||
.chroma .mf {
|
||||
color: #009999; }
|
||||
|
||||
/* LiteralNumberHex */
|
||||
.chroma .mh {
|
||||
color: #009999; }
|
||||
|
||||
/* LiteralNumberInteger */
|
||||
.chroma .mi {
|
||||
color: #009999; }
|
||||
|
||||
/* LiteralNumberIntegerLong */
|
||||
.chroma .il {
|
||||
color: #009999; }
|
||||
|
||||
/* LiteralNumberOct */
|
||||
.chroma .mo {
|
||||
color: #009999; }
|
||||
|
||||
/* Operator */
|
||||
.chroma .o {
|
||||
color: #000000;
|
||||
font-weight: bold; }
|
||||
|
||||
/* OperatorWord */
|
||||
.chroma .ow {
|
||||
color: #000000;
|
||||
font-weight: bold; }
|
||||
|
||||
/* Punctuation */
|
||||
/* Comment */
|
||||
.chroma .c {
|
||||
color: #999988;
|
||||
font-style: italic; }
|
||||
|
||||
/* CommentHashbang */
|
||||
.chroma .ch {
|
||||
color: #999988;
|
||||
font-style: italic; }
|
||||
|
||||
/* CommentMultiline */
|
||||
.chroma .cm {
|
||||
color: #999988;
|
||||
font-style: italic; }
|
||||
|
||||
/* CommentSingle */
|
||||
.chroma .c1 {
|
||||
color: #999988;
|
||||
font-style: italic; }
|
||||
|
||||
/* CommentSpecial */
|
||||
.chroma .cs {
|
||||
color: #999999;
|
||||
font-weight: bold;
|
||||
font-style: italic; }
|
||||
|
||||
/* CommentPreproc */
|
||||
.chroma .cp {
|
||||
color: #999999;
|
||||
font-weight: bold;
|
||||
font-style: italic; }
|
||||
|
||||
/* CommentPreprocFile */
|
||||
.chroma .cpf {
|
||||
color: #999999;
|
||||
font-weight: bold;
|
||||
font-style: italic; }
|
||||
|
||||
/* Generic */
|
||||
/* GenericDeleted */
|
||||
.chroma .gd {
|
||||
color: #000000;
|
||||
background-color: #ffdddd; }
|
||||
|
||||
/* GenericEmph */
|
||||
.chroma .ge {
|
||||
color: #000000;
|
||||
font-style: italic; }
|
||||
|
||||
/* GenericError */
|
||||
.chroma .gr {
|
||||
color: #aa0000; }
|
||||
|
||||
/* GenericHeading */
|
||||
.chroma .gh {
|
||||
color: #999999; }
|
||||
|
||||
/* GenericInserted */
|
||||
.chroma .gi {
|
||||
color: #000000;
|
||||
background-color: #ddffdd; }
|
||||
|
||||
/* GenericOutput */
|
||||
.chroma .go {
|
||||
color: #888888; }
|
||||
|
||||
/* GenericPrompt */
|
||||
.chroma .gp {
|
||||
color: #555555; }
|
||||
|
||||
/* GenericStrong */
|
||||
.chroma .gs {
|
||||
font-weight: bold; }
|
||||
|
||||
/* GenericSubheading */
|
||||
.chroma .gu {
|
||||
color: #aaaaaa; }
|
||||
|
||||
/* GenericTraceback */
|
||||
.chroma .gt {
|
||||
color: #aa0000; }
|
||||
|
||||
/* GenericUnderline */
|
||||
.chroma .gl {
|
||||
text-decoration: underline; }
|
||||
|
||||
/* TextWhitespace */
|
||||
.chroma .w {
|
||||
color: #bbbbbb; }
|
||||
|
||||
.chroma {
|
||||
background-color: #f6f8fa; }
|
||||
|
||||
.dark {
|
||||
/* Background */
|
||||
/* Other */
|
||||
/* Error */
|
||||
/* LineTableTD */
|
||||
/* LineTable */
|
||||
/* LineHighlight */
|
||||
/* LineNumbersTable */
|
||||
/* LineNumbers */
|
||||
/* Keyword */
|
||||
/* KeywordConstant */
|
||||
/* KeywordDeclaration */
|
||||
/* KeywordNamespace */
|
||||
/* KeywordPseudo */
|
||||
/* KeywordReserved */
|
||||
/* KeywordType */
|
||||
/* Name */
|
||||
/* NameAttribute */
|
||||
/* NameBuiltin */
|
||||
/* NameBuiltinPseudo */
|
||||
/* NameClass */
|
||||
/* NameConstant */
|
||||
/* NameDecorator */
|
||||
/* NameEntity */
|
||||
/* NameException */
|
||||
/* NameFunction */
|
||||
/* NameFunctionMagic */
|
||||
/* NameLabel */
|
||||
/* NameNamespace */
|
||||
/* NameOther */
|
||||
/* NameProperty */
|
||||
/* NameTag */
|
||||
/* NameVariable */
|
||||
/* NameVariableClass */
|
||||
/* NameVariableGlobal */
|
||||
/* NameVariableInstance */
|
||||
/* NameVariableMagic */
|
||||
/* Literal */
|
||||
/* LiteralDate */
|
||||
/* LiteralString */
|
||||
/* LiteralStringAffix */
|
||||
/* LiteralStringBacktick */
|
||||
/* LiteralStringChar */
|
||||
/* LiteralStringDelimiter */
|
||||
/* LiteralStringDoc */
|
||||
/* LiteralStringDouble */
|
||||
/* LiteralStringEscape */
|
||||
/* LiteralStringHeredoc */
|
||||
/* LiteralStringInterpol */
|
||||
/* LiteralStringOther */
|
||||
/* LiteralStringRegex */
|
||||
/* LiteralStringSingle */
|
||||
/* LiteralStringSymbol */
|
||||
/* LiteralNumber */
|
||||
/* LiteralNumberBin */
|
||||
/* LiteralNumberFloat */
|
||||
/* LiteralNumberHex */
|
||||
/* LiteralNumberInteger */
|
||||
/* LiteralNumberIntegerLong */
|
||||
/* LiteralNumberOct */
|
||||
/* Operator */
|
||||
/* OperatorWord */
|
||||
/* Punctuation */
|
||||
/* Comment */
|
||||
/* CommentHashbang */
|
||||
/* CommentMultiline */
|
||||
/* CommentSingle */
|
||||
/* CommentSpecial */
|
||||
/* CommentPreproc */
|
||||
/* CommentPreprocFile */
|
||||
/* Generic */
|
||||
/* GenericDeleted */
|
||||
/* GenericEmph */
|
||||
/* GenericError */
|
||||
/* GenericHeading */
|
||||
/* GenericInserted */
|
||||
/* GenericOutput */
|
||||
/* GenericPrompt */
|
||||
/* GenericStrong */
|
||||
/* GenericSubheading */
|
||||
/* GenericTraceback */
|
||||
/* GenericUnderline */
|
||||
/* TextWhitespace */ }
|
||||
.dark .chroma {
|
||||
color: #f8f8f2;
|
||||
background-color: #282a36; }
|
||||
.dark .chroma .lntd {
|
||||
vertical-align: top;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0; }
|
||||
.dark .chroma .lntable {
|
||||
border-spacing: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
width: auto;
|
||||
overflow: auto;
|
||||
display: block; }
|
||||
.dark .chroma .hl {
|
||||
display: block;
|
||||
width: 100%;
|
||||
background-color: #ffffcc; }
|
||||
.dark .chroma .lnt {
|
||||
margin-right: 0.4em;
|
||||
padding: 0 0.4em 0 0.4em;
|
||||
color: #7f7f7f; }
|
||||
.dark .chroma .ln {
|
||||
margin-right: 0.4em;
|
||||
padding: 0 0.4em 0 0.4em;
|
||||
color: #7f7f7f; }
|
||||
.dark .chroma .k {
|
||||
color: #ff79c6; }
|
||||
.dark .chroma .kc {
|
||||
color: #ff79c6; }
|
||||
.dark .chroma .kd {
|
||||
color: #8be9fd;
|
||||
font-style: italic; }
|
||||
.dark .chroma .kn {
|
||||
color: #ff79c6; }
|
||||
.dark .chroma .kp {
|
||||
color: #ff79c6; }
|
||||
.dark .chroma .kr {
|
||||
color: #ff79c6; }
|
||||
.dark .chroma .kt {
|
||||
color: #8be9fd; }
|
||||
.dark .chroma .na {
|
||||
color: #50fa7b; }
|
||||
.dark .chroma .nb {
|
||||
color: #8be9fd;
|
||||
font-style: italic; }
|
||||
.dark .chroma .nc {
|
||||
color: #50fa7b; }
|
||||
.dark .chroma .nf {
|
||||
color: #50fa7b; }
|
||||
.dark .chroma .nl {
|
||||
color: #8be9fd;
|
||||
font-style: italic; }
|
||||
.dark .chroma .nt {
|
||||
color: #ff79c6; }
|
||||
.dark .chroma .nv {
|
||||
color: #8be9fd;
|
||||
font-style: italic; }
|
||||
.dark .chroma .vc {
|
||||
color: #8be9fd;
|
||||
font-style: italic; }
|
||||
.dark .chroma .vg {
|
||||
color: #8be9fd;
|
||||
font-style: italic; }
|
||||
.dark .chroma .vi {
|
||||
color: #8be9fd;
|
||||
font-style: italic; }
|
||||
.dark .chroma .s {
|
||||
color: #f1fa8c; }
|
||||
.dark .chroma .sa {
|
||||
color: #f1fa8c; }
|
||||
.dark .chroma .sb {
|
||||
color: #f1fa8c; }
|
||||
.dark .chroma .sc {
|
||||
color: #f1fa8c; }
|
||||
.dark .chroma .dl {
|
||||
color: #f1fa8c; }
|
||||
.dark .chroma .sd {
|
||||
color: #f1fa8c; }
|
||||
.dark .chroma .s2 {
|
||||
color: #f1fa8c; }
|
||||
.dark .chroma .se {
|
||||
color: #f1fa8c; }
|
||||
.dark .chroma .sh {
|
||||
color: #f1fa8c; }
|
||||
.dark .chroma .si {
|
||||
color: #f1fa8c; }
|
||||
.dark .chroma .sx {
|
||||
color: #f1fa8c; }
|
||||
.dark .chroma .sr {
|
||||
color: #f1fa8c; }
|
||||
.dark .chroma .s1 {
|
||||
color: #f1fa8c; }
|
||||
.dark .chroma .ss {
|
||||
color: #f1fa8c; }
|
||||
.dark .chroma .m {
|
||||
color: #bd93f9; }
|
||||
.dark .chroma .mb {
|
||||
color: #bd93f9; }
|
||||
.dark .chroma .mf {
|
||||
color: #bd93f9; }
|
||||
.dark .chroma .mh {
|
||||
color: #bd93f9; }
|
||||
.dark .chroma .mi {
|
||||
color: #bd93f9; }
|
||||
.dark .chroma .il {
|
||||
color: #bd93f9; }
|
||||
.dark .chroma .mo {
|
||||
color: #bd93f9; }
|
||||
.dark .chroma .o {
|
||||
color: #ff79c6; }
|
||||
.dark .chroma .ow {
|
||||
color: #ff79c6; }
|
||||
.dark .chroma .c {
|
||||
color: #6272a4; }
|
||||
.dark .chroma .ch {
|
||||
color: #6272a4; }
|
||||
.dark .chroma .cm {
|
||||
color: #6272a4; }
|
||||
.dark .chroma .c1 {
|
||||
color: #6272a4; }
|
||||
.dark .chroma .cs {
|
||||
color: #6272a4; }
|
||||
.dark .chroma .cp {
|
||||
color: #ff79c6; }
|
||||
.dark .chroma .cpf {
|
||||
color: #ff79c6; }
|
||||
.dark .chroma .gd {
|
||||
color: #ff5555; }
|
||||
.dark .chroma .ge {
|
||||
text-decoration: underline; }
|
||||
.dark .chroma .gh {
|
||||
font-weight: bold; }
|
||||
.dark .chroma .gi {
|
||||
color: #50fa7b;
|
||||
font-weight: bold; }
|
||||
.dark .chroma .go {
|
||||
color: #44475a; }
|
||||
.dark .chroma .gu {
|
||||
font-weight: bold; }
|
||||
.dark .chroma .gl {
|
||||
text-decoration: underline; }
|
|
@ -0,0 +1 @@
|
|||
{"Target":"/css/common/highlight.css","MediaType":"text/css","Data":{}}
|
|
@ -0,0 +1 @@
|
|||
Subproject commit b787253f7b03d27c7939f919559d726eec90416f
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 33fbda0e9d3e97c92af5d195be94e8eea8003239
|
Loading…
Reference in New Issue