Runic calendar as a browser extension beside the Gregorian calendar

@weirdrat · 2025-05-08 02:14 · vikings

The Runic Era started 250 years before the Gregorian calendar

Runic Era (R.E.) is a dating calendar used by Norse and Germanic Pagans, as well as a few other Heathenism-based beliefs. "Year 0" is placed on when the first rune stones found were dated to, which is about 250 B.C.E. This is theologically seen as the moment that Odin gave the Runes to mankind to use.

So following this, and to illustrate, the year 2000 C.E. would be 2250 R.E. With a Runic Calendar, the months and days are also different. It still follows a Gregorian outline (breaking from that is rather hard to do, it seems,) but we use more "traditional" Germanic names

  1. Understanding the Requirements You want a browser extension that:

Shows the current Gregorian date

Displays equivalent dates in other calendars (Runic, Chinese, etc.)

Allows users to select which calendars to show

Supports multiple languages

Can be installed without going through official app stores

  1. Runic Calendar Implementation From the article, we have all the needed information:

Year 0 is 250 BCE (so current year = Gregorian year + 250)

Month names and day names are provided

Example: May 3, 2025 = Laugardagr 3rd of Merrymoon, 2275 RE

  1. Basic Extension Structure Here's a simple implementation:

javascript // Runic Calendar Data const runicMonths = [ "Snowmoon", "Horning", "Lenting", "Ostara", "Merrymoon", "Midyear", "Haymoon", "Harvest", "Shedding", "Hunting", "Fogmoon", "Yule" ];

const runicDays = [ "Manadagr", "Tysdagr", "Odinsdagr/Wotansdagr", "Thorsdagr", "Frjadagr", "Laugardagr", "Sunnudagr" ];

function getRunicDate(gregorianDate) { const day = gregorianDate.getDate(); const month = gregorianDate.getMonth(); const year = gregorianDate.getFullYear() + 250; const dayOfWeek = gregorianDate.getDay(); // 0=Sunday, 6=Saturday

// Get ordinal suffix (1st, 2nd, 3rd, etc.) const suffixes = ["th", "st", "nd", "rd"]; const relevantDigits = (day < 30) ? day % 20 : day % 30; const suffix = (relevantDigits <= 3) ? suffixes[relevantDigits] : suffixes[0];

return { dayName: runicDays[dayOfWeek], date: ${day}${suffix} of ${runicMonths[month]}, year: ${year} of the Runic Era }; }

// Chinese Calendar would require more complex calculations // You might want to use a library like chinese-lunar-calendar

// Display function function updateDisplay() { const now = new Date();

// Gregorian date const gregorianDate = now.toLocaleDateString('en-US', { weekday: 'long', year: 'numeric', month: '2-digit', day: '2-digit' });

// Runic date const runic = getRunicDate(now); const runicDate = ${runic.dayName} ${runic.date}, in the year ${runic.year};

// Update the display document.getElementById('gregorian-date').textContent = gregorianDate; document.getElementById('runic-date').textContent = runicDate; }

// Run on page load window.onload = updateDisplay; 4. Browser Extension Basics A browser extension typically consists of:

manifest.json (configuration)

popup.html (the UI)

popup.js (the logic)

Optional: content scripts, background scripts

Sample manifest.json: json { "manifest_version": 3, "name": "Alternative Calendars", "version": "1.0", "description": "Displays dates in various cultural calendars", "action": { "default_popup": "popup.html", "default_icon": "icon.png" }, "permissions": [] } Sample popup.html: html

  1. Installing the Extension Without App Stores For Chrome/Edge/Brave:

Go to chrome://extensions

Enable "Developer mode"

Click "Load unpacked" and select your extension folder

For Firefox:

Go to about:debugging

Click "This Firefox"

Click "Load Temporary Add-on" and select any file in your extension

  1. Next Steps for Improvement Add user preferences to select which calendars to show

Add language options

Implement more calendars (Chinese, Hebrew, Islamic, etc.)

Add proper icons and better styling

Consider using a library like luxon or moment.js for better date handling

Many Thanks to the friendly Whale of Deep Seek for helping me with the script !

#vikings #runes #calendar #browser #runestone
Payout: 0.000 HBD
Votes: 1
More interactions (upvote, reblog, reply) coming soon.