https://github.com/antonmry/galiglobal
Blog about distributed systems, data at scale and a bit of cool tech
https://github.com/antonmry/galiglobal
at-protocol ebpf opentelemetry rust
Last synced: 3 months ago
JSON representation
Blog about distributed systems, data at scale and a bit of cool tech
- Host: GitHub
- URL: https://github.com/antonmry/galiglobal
- Owner: antonmry
- License: other
- Created: 2015-01-15T18:11:16.000Z (over 11 years ago)
- Default Branch: main
- Last Pushed: 2026-02-22T15:26:58.000Z (3 months ago)
- Last Synced: 2026-02-22T19:32:27.971Z (3 months ago)
- Topics: at-protocol, ebpf, opentelemetry, rust
- Language: HTML
- Homepage: https://www.galiglobal.com
- Size: 53.1 MB
- Stars: 4
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.html
- License: LICENSE.html
Awesome Lists containing this project
README
GaliGlobal
This is the source for my blog.
Formatting and HTML generation
- Format all markdown files with rumdl:
uv run scripts/format_markdown.py
- Regenerate all HTML files from their markdown counterparts:
uv run scripts/generate_html_from_md.py
- Scaffold a new blog post (creates md, updates leaflet map and blog list):
uv run scripts/create_post.py
- Optimize images in-place (resize + recompress):
uv run scripts/optimize_images.py
Publish with GitHub Pages
- Manually trigger the Pages workflow:
gh workflow run publish-pages.yml
- Check recent runs for that workflow:
gh run list --workflow="publish-pages.yml"
CI: .github/workflows/deploy.yml runs all steps on every push (and can be
dispatched manually). It commits and pushes changes when formatting alters
files.
async function loadContent(url, elementId) {
try {
const response = await fetch(url);
if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
const html = await response.text();
const target = document.getElementById(elementId);
if (!target) return;
target.innerHTML = html;
const scripts = target.querySelectorAll('script[data-execute="true"]');
scripts.forEach((oldScript) => {
const newScript = document.createElement('script');
[...oldScript.attributes].forEach((attr) => newScript.setAttribute(attr.name, attr.value));
newScript.textContent = oldScript.textContent;
target.appendChild(newScript);
});
} catch (error) {
console.error(`Error loading ${url}:`, error);
}
}
document.addEventListener('DOMContentLoaded', async () => {
await loadContent('/navbar.html', 'navbar-container');
await loadContent('/footer.html', 'footer-container');
if (typeof prettyPrint === 'function') {
prettyPrint();
}
});