rettet ordliste.txt og index.html

This commit is contained in:
gch
2026-07-15 13:09:52 +02:00
parent 5154321e58
commit c0984c2e4f
2 changed files with 188 additions and 903 deletions
+46 -705
View File
@@ -31,705 +31,15 @@
<div class="grid">
<div class="card">
<h2>Ordbog (kun navneord)</h2>
<textarea id="words" placeholder="Et ord pr. linje">
Agent
Anledning
Arbejde
Arkiv
Atlas
Bad
Bakke
Balkon
Bane
Bank
Barn
Batteri
Begivenhed
Begreb
Behandling
Belysning
Beregner
Berg
Besked
Beskrivelse
Betydning
Bil
Billede
Billet
Bistand
Blik
Blok
Blomst
Bluse
Blyant
Bog
Bogstav
Bonde
Bord
Borg
Branche
Brev
Bro
Brug
Brygge
Buffer
Bund
Byg
Check
Cirkel
Citron
Cykel
Dag
Dame
Damp
Dans
Dato
Deal
Definition
Del
Design
Desktop
Dialog
Diesel
Display
Dokument
Dokumentation
Drift
Due
Ekko
Eksamen
Eksempel
Eksperiment
Elbil
Elefant
Element
Elite
Emne
Energi
Enhed
Erfaring
Event
Eventyr
Evne
Fabrik
Fald
Fane
Far
Farve
Fedt
Felt
Ferie
Fest
Fil
Filter
Flag
Flaske
Flimmer
Fly
Fokus
Fold
Folie
Folk
Forbindelse
Force
Fordel
Form
Format
Formel
Forside
Fortid
Fragment
Frist
Front
Frost
Frugt
Fyr
Gade
Gaffel
Gang
Garage
Garderobe
Gas
Gave
Gear
Gift
Gitter
Glas
Glimt
Grad
Graf
Gran
Greb
Gren
Grund
Gud
Guld
Gulv
Gymnastik
Hage
Hal
Hals
Hastighed
Have
Havn
Held
Hensyn
Hest
Himmel
Hindring
Hjerte
Hjul
Hold
Hoved
Hul
Hund
Hus
Ide
Identitet
Illustration
Image
Indeks
Indgang
Indhold
Industri
Infektion
Information
Initiativ
Installation
Instruks
Interface
Interval
Introduktion
Investering
Ironi
Is
Jagt
Jern
Job
Jord
Journal
Kaffe
Kald
Kamera
Kamp
Kanal
Kandidat
Kant
Kapitel
Kasse
Kategori
Kat
Kedel
Kerne
Kilde
Klasse
Klient
Klima
Klinge
Kloak
Klokke
Klub
Klynge
Knald
Knap
Kniv
Knogle
Knude
Kode
Kollega
Kommentar
Kommunikation
Komponent
Kontakt
Kontrol
Konverter
Kopi
Kort
Kraft
Krav
Kredit
Kridt
Kro
Krop
Krystal
Kryds
Kugle
Kunde
Kunst
Kvalitet
Kvittering
Laboratorie
Lager
Lampe
Land
Larm
Last
Layout
Led
Leder
Leg
Lejlighed
Lektion
Levering
Limit
Linje
Link
Liste
Log
Logik
Lomme
Lort
Lotus
Lov
Lugt
Lus
Lyd
Lykke
Mad
Magasin
Magt
Majs
Makro
Mappe
Mareridt
Mark
Marked
Maskine
Master
Materiale
Matrix
Medarbejder
Meddelelse
Medium
Mening
Menu
Metode
Mikrofon
Mikroskop
Millimeter
Minut
Mobil
Mode
Modul
Monster
Montering
Mor
Morgen
Motor
Mulighed
Mund
Mus
Muse
Muskel
Musling
Myndighed
Navn
Net
Niveau
Nord
Notat
Notifikation
Nul
Objekt
Oktav
Olie
Omdrejning
Ord
Ordre
Organisation
Orientering
Ost
Overblik
Overflade
Overraskelse
Pakke
Palads
Palme
Panel
Papir
Par
Paradoks
Park
Partner
Pas
Pause
Peber
Pedal
Penge
Pengetank
Person
Pil
Pilot
Pleje
Plads
Plan
Platform
Platin
Politi
Port
Portal
Position
Post
Potte
Presse
Prik
Prioritet
Problem
Procedure
Produktion
Profil
Program
Projekt
Prop
Protokol
Provins
Pude
Puls
Punkt
Punktum
Puslespil
Pynt
Ramme
Rat
Reb
Refleksion
Regel
Registrering
Regn
Regning
Rente
Reserve
Respekt
Rest
Resultat
Retning
Rev
Ridse
Rim
Ris
Risiko
Rock
Rod
Rolle
Ror
Rotte
Rubin
Rude
Rum
Runde
Rust
Rute
Ryg
Rytme
Sag
Saks
Salt
Samling
Sand
Scene
Sektion
Sekund
Sensor
Serie
Service
Signal
Signatur
Silke
Situation
Sjal
Skab
Skat
Ske
Skib
Skift
Skimmel
Skinne
Skitse
Skjold
Sko
Skole
Skridt
Skrivebord
Skrue
Skum
Slange
Slave
Slim
Slot
Smed
Smerte
Smil
Smag
Sne
Snor
Software
Sok
Sol
Sort
Spil
Spiral
Spole
Sport
Sprog
Stald
Stamme
Stand
Stang
Stativ
Status
Sted
Stempel
Sten
Sti
Stige
Stil
Stilhed
Stol
Strand
Streg
Struktur
Stue
Stykke
Styr
Sukker
Support
Svar
Svend
Synd
System
Tablet
Tag
Tale
Tand
Tang
Tapet
Tast
Tavle
Tegn
Tegning
Telt
Tempel
Temperatur
Tempo
Tenant
Terminal
Termostat
Terning
Test
Tid
Tilstand
Time
Ting
Tirsdag
Titel
Tivoli
Tog
Tommel
Tone
Top
Torsdag
Trafik
Transaktion
Transport
Trekant
Trend
Trin
Tro
Trolley
Trone
Trug
Trussel
Tun
Tunnel
Tur
Tusch
Ubehag
Udbetaling
Udbytte
Uddannelse
Udfordring
Udlejning
Udsigt
Udskrift
Udsnit
Udsugning
Udvalg
Uge
Uheld
Uhyre
Ukrudt
Uland
Ulempe
Ulighed
Ulv
Ulykke
Underretning
Undervisning
Univers
Uro
Urskov
Uvidenhed
Vagt
Vakuum
Valg
Vand
Vare
Vask
Vej
Vejr
Vektor
Verdensdel
Version
Viden
Videnskab
Vind
Vindue
Visa
Vision
Vogn
Vold
Volumen
Vrede
Vulkan
Zebra
Zone
Zoo
Aktiv
Alarm
Ambition
Balance
Barriere
Biograf
Blad
Blod
Blus
Bombe
Brand
Budget
Bunker
Bus
Bytte
Campus
Center
Chance
Citat
Club
Dosis
Drama
Dronning
Eksport
Elite
Fakta
Fase
Figur
Firma
Fjord
Flirt
Flod
Flugt
Fond
Formue
Forsker
Forum
Fossil
Frihed
Fund
Fusion
Geni
Genre
Gigant
Globus
Grafik
Grotte
Guitar
Hav
Hegn
Helikopter
Helte
Honning
Hotel
Hval
Hvede
Ild
Import
Indsats
Jazz
Kabel
Kabinet
Kaktus
Kalkun
Kanin
Kanon
Kappe
Katedral
Ketchup
Kind
Kiosk
Kirke
Kiste
Kittel
Klarinet
Klode
Kobber
Kokos
Kolbe
Komet
Komfur
Konto
Koral
Kork
Korn
Kost
Krabbe
Kran
Krise
Kupon
Kurv
Lakrids
Lantern
Lektie
Lemon
Lever
Lift
Linse
Liter
Litteratur
Lokale
Lyn
Marmor
Medie
Messe
Metal
Million
Mineral
Mission
Monument
Natur
Nektar
Nerve
Nylon
Oase
Opera
Optik
Orbit
Organ
Ovn
Pap
Plastik
Rabat
Radio
Saft
Salat
Sektor
Velfaerd
Zenit
</textarea>
<textarea id="words" placeholder="Vent på indlæsning..." readonly></textarea>
</div>
<div class="card">
<h2>Opsætning</h2>
<p style="font-size:.85rem;color:#666;margin-bottom:.75rem">Format: Ord1 + Ord2 + tal/symboler</p>
<p style="font-size:.85rem;color:#666;margin-bottom:.75rem">Format: Ord1 + Ord2 + suffix</p>
<label>Separator mellem ord: <input type="text" id="separator" value="" style="width:30px;padding:.3rem;border:1px solid #ccc;border-radius:4px"></label>
<label>Suffix længde: <input type="number" id="suffixLen" value="5" min="1" max="10"></label>
<label><input type="checkbox" id="useSymbols" checked> Specialtegn (!@#$%&*+-=?)</label>
<label><input type="checkbox" id="useDigits" checked> Tal (0-9)</label>
<label>Antal koder: <input type="number" id="count" value="3" min="1" max="20"></label>
<div class="controls">
<button class="btn-primary" onclick="generate()">Generer</button>
@@ -742,35 +52,66 @@ Zenit
<textarea id="output" placeholder="Genererede koder vises her..." readonly></textarea>
</div>
<script>
const SYMB = '!@#$%&*+-=?0123456789';
function rand(n) { return Math.floor(Math.random() * n); }
async function loadWords() {
const el = document.getElementById('words');
try {
const res = await fetch('ordliste.txt');
if (!res.ok) throw new Error('HTTP ' + res.status);
const text = await res.text();
el.value = text.trim();
el.readOnly = false;
el.placeholder = 'Et ord pr. linje';
document.getElementById('status').textContent = 'Indlæst ' + text.trim().split('\n').length + ' ord';
} catch (e) {
el.placeholder = 'Kunne ikke indlæse ordliste.txt (' + e.message + ')';
}
}
loadWords();
function randomSuffix(len) {
const SYMBOLS = '!@#$%&*+-=?';
const DIGITS = '0123456789';
function rand(n) { return Math.floor(Math.random() * n); }
function getSuffixCharset() {
const useSym = document.getElementById('useSymbols').checked;
const useDig = document.getElementById('useDigits').checked;
let s = '';
if (useSym) s += SYMBOLS;
if (useDig) s += DIGITS;
return s;
}
function randomSuffix(len, charset) {
let r = '';
for (let i = 0; i < len; i++) r += SYMB[rand(SYMB.length)];
for (let i = 0; i < len; i++) r += charset[rand(charset.length)];
return r;
}
function generate() {
const words = document.getElementById('words').value.split('\n').map(w => w.trim()).filter(w => w);
const suffixLen = parseInt(document.getElementById('suffixLen').value) || 5;
const count = parseInt(document.getElementById('count').value) || 3;
let suffixLen = parseInt(document.getElementById('suffixLen').value, 10);
if (isNaN(suffixLen) || suffixLen < 1) suffixLen = 5;
const countEl = document.getElementById('count');
let count = parseInt(countEl.value, 10);
if (isNaN(count) || count < 1) count = 3;
const sep = document.getElementById('separator').value;
const output = document.getElementById('output');
const charset = getSuffixCharset();
const status = document.getElementById('status');
if (!words.length) { output.value = 'Tilføj mindst ét ord i ordbogen.'; return; }
if (words.length < 2) { output.value = 'Brug mindst 2 ord i ordbogen.'; return; }
if (!words.length) { output.value = 'Tilføj mindst ét ord i ordbogen.'; status.textContent = ''; return; }
if (words.length < 2) { output.value = 'Brug mindst 2 ord i ordbogen.'; status.textContent = ''; return; }
if (!charset.length) { output.value = 'Vælg mindst én suffix-type (specialtegn eller tal).'; status.textContent = ''; return; }
if (suffixLen === 1 && charset.length > 1) { output.value = 'Ved suffix længde 1 skal du vælge enten specialtegn eller tal (ikke begge).'; status.textContent = ''; return; }
const codes = [];
for (let i = 0; i < count; i++) {
let w1, w2;
do { w1 = words[rand(words.length)]; w2 = words[rand(words.length)]; } while (w1 === w2);
const suffix = randomSuffix(suffixLen);
codes.push(w1 + sep + w2 + suffix);
codes.push(w1 + sep + w2 + randomSuffix(suffixLen, charset));
}
output.value = codes.join('\n');
document.getElementById('status').textContent = `Genereret ${count} koder`;
status.textContent = `Genereret ${count} koder`;
}
function copy() {
@@ -1,71 +1,100 @@
Abrikos
Aftale
Agent
Aktiv
Aktivitet
Alarm
Altan
Ambition
Anledning
Arbejde
Arkitekt
Arkiv
Armatur
Atlas
Bad
Bageri
Bakke
Balance
Balkon
Bane
Bank
Barn
Barriere
Batteri
Begivenhed
Begreb
Behandling
Bekendt
Belysning
Beregner
Berg
Besked
Beskrivelse
Betydning
Bil
Bevilling
Bidrag
Billede
Billet
Biograf
Bistand
Blad
Blanding
Blik
Blod
Blok
Blomst
Blus
Bluse
Blyant
Bog
Bogstav
Bombe
Bonde
Bord
Borg
Branche
Brand
Brev
Bro
Brug
Brygge
Budget
Buffer
Bund
Byg
Bunker
Bytte
Campus
Center
Chance
Check
Cirkel
Citat
Citron
Club
Cykel
Dag
Dame
Damp
Dans
Dato
Deal
Definition
Del
Design
Desktop
Dialog
Diesel
Diplom
Direktor
Display
Dokument
Dokumentation
Domino
Dosis
Drama
Drift
Due
Dronning
Ekko
Eksamen
Eksempel
Eksperiment
Eksport
Elbil
Elefant
Element
@@ -78,67 +107,86 @@ Event
Eventyr
Evne
Fabrik
Fakta
Fald
Fane
Far
Farve
Fase
Fedt
Felt
Ferie
Fest
Fil
Figur
Filter
Firma
Fjord
Flag
Flaske
Flimmer
Fly
Flirt
Flod
Flugt
Fokus
Fold
Folie
Folk
Fond
Forbindelse
Force
Fordel
Form
Format
Formel
Formue
Forside
Forsker
Fortid
Forum
Fossil
Fragment
Frihed
Frist
Front
Frost
Frugt
Fyr
Fund
Fusion
Gade
Gaffel
Gang
Garage
Garderobe
Gas
Gave
Gear
Geni
Genre
Gift
Gigant
Gitter
Glas
Glimt
Globus
Grad
Graf
Grafik
Gran
Greb
Gren
Grotte
Grund
Gud
Guitar
Guld
Gulv
Gymnastik
Hage
Hal
Hals
Hastighed
Have
Havn
Hegn
Held
Helikopter
Helte
Hensyn
Hest
Himmel
@@ -146,17 +194,20 @@ Hindring
Hjerte
Hjul
Hold
Honning
Hotel
Hoved
Hul
Hund
Hus
Ide
Hval
Hvede
Identitet
Illustration
Image
Import
Indeks
Indgang
Indhold
Indsats
Industri
Infektion
Information
@@ -168,31 +219,45 @@ Interval
Introduktion
Investering
Ironi
Is
Jagt
Jazz
Jern
Job
Jord
Journal
Kabel
Kabinet
Kaffe
Kaktus
Kald
Kalkun
Kamera
Kamp
Kanal
Kandidat
Kanin
Kanon
Kant
Kapitel
Kappe
Kasse
Katedral
Kategori
Kat
Kedel
Kerne
Ketchup
Kilde
Kind
Kiosk
Kirke
Kiste
Kittel
Klarinet
Klasse
Klient
Klima
Klinge
Kloak
Klode
Klokke
Klub
Klynge
@@ -201,57 +266,74 @@ Knap
Kniv
Knogle
Knude
Kobber
Kode
Kokos
Kolbe
Kollega
Komet
Komfur
Kommentar
Kommunikation
Komponent
Kontakt
Konto
Kontrol
Konverter
Kopi
Koral
Kork
Korn
Kort
Kost
Krabbe
Kraft
Kran
Krav
Kredit
Kridt
Kro
Krise
Krop
Krystal
Kryds
Krystal
Kugle
Kunde
Kunst
Kupon
Kurv
Kvalitet
Kvittering
Laboratorie
Lager
Lakrids
Lampe
Land
Lantern
Larm
Last
Layout
Led
Leder
Leg
Lejlighed
Lektie
Lektion
Lemon
Lever
Levering
Lift
Limit
Linje
Link
Linse
Liste
Log
Liter
Litteratur
Logik
Lokale
Lomme
Lort
Lotus
Lov
Lugt
Lus
Lyd
Lykke
Mad
Magasin
Magt
Majs
@@ -260,51 +342,64 @@ Mappe
Mareridt
Mark
Marked
Marmor
Maskine
Master
Materiale
Matrix
Medarbejder
Meddelelse
Medie
Medium
Mening
Menu
Messe
Metal
Metode
Mikrofon
Mikroskop
Millimeter
Million
Mineral
Minut
Mission
Mobil
Mode
Modul
Monster
Montering
Mor
Monument
Morgen
Motor
Mulighed
Mund
Mus
Muse
Muskel
Musling
Myndighed
Natur
Navn
Net
Nektar
Nerve
Niveau
Nord
Notat
Notifikation
Nul
Nylon
Oase
Objekt
Observator
Oktav
Olie
Omdrejning
Ord
Opera
Optik
Orbit
Ordre
Organ
Organisation
Orientering
Ost
Oscillation
Overblik
Overflade
Overraskelse
@@ -313,24 +408,22 @@ Palads
Palme
Panel
Papir
Par
Paradoks
Park
Partner
Pas
Pause
Peber
Pedal
Penge
Pengetank
Person
Pil
Pilot
Pleje
Plads
Plan
Plastik
Platform
Platin
Pleje
Politi
Port
Portal
@@ -355,9 +448,9 @@ Punkt
Punktum
Puslespil
Pynt
Rabat
Radio
Ramme
Rat
Reb
Refleksion
Regel
Registrering
@@ -369,31 +462,26 @@ Respekt
Rest
Resultat
Retning
Rev
Ridse
Rim
Ris
Risiko
Rock
Rod
Rolle
Ror
Rotte
Rubin
Rude
Rum
Runde
Rust
Rute
Ryg
Rytme
Sag
Saft
Saks
Salat
Salt
Samling
Sand
Scene
Sektion
Sektor
Sekund
Sensor
Serie
@@ -405,14 +493,12 @@ Situation
Sjal
Skab
Skat
Ske
Skib
Skift
Skimmel
Skinne
Skitse
Skjold
Sko
Skole
Skridt
Skrivebord
@@ -422,15 +508,12 @@ Slange
Slave
Slim
Slot
Smag
Smed
Smerte
Smil
Smag
Sne
Snor
Software
Sok
Sol
Sort
Spil
Spiral
@@ -446,7 +529,6 @@ Status
Sted
Stempel
Sten
Sti
Stige
Stil
Stilhed
@@ -464,7 +546,6 @@ Svend
Synd
System
Tablet
Tag
Tale
Tand
Tang
@@ -482,17 +563,14 @@ Terminal
Termostat
Terning
Test
Tid
Tilstand
Time
Ting
Tirsdag
Titel
Tivoli
Tog
Tommel
Tone
Top
Torsdag
Trafik
Transaktion
@@ -500,14 +578,11 @@ Transport
Trekant
Trend
Trin
Tro
Trolley
Trone
Trug
Trussel
Tun
Tunnel
Tur
Tusch
Ubehag
Udbetaling
@@ -520,19 +595,17 @@ Udskrift
Udsnit
Udsugning
Udvalg
Uge
Uheld
Uhyre
Ukrudt
Uland
Ulempe
Ulighed
Ulv
Ulykke
Underretning
Undersogelse
Undervisning
Univers
Uro
Urskov
Uvidenhed
Vagt
@@ -541,9 +614,9 @@ Valg
Vand
Vare
Vask
Vej
Vejr
Vektor
Velfaerd
Verdensdel
Version
Viden
@@ -558,134 +631,5 @@ Volumen
Vrede
Vulkan
Zebra
Zone
Zoo
Aktiv
Alarm
Ambition
Balance
Barriere
Biograf
Blad
Blod
Blus
Bombe
Brand
Budget
Bunker
Bus
Bytte
Campus
Center
Chance
Citat
Club
Dosis
Drama
Dronning
Eksport
Elite
Fakta
Fase
Figur
Firma
Fjord
Flirt
Flod
Flugt
Fond
Formue
Forsker
Forum
Fossil
Frihed
Fund
Fusion
Geni
Genre
Gigant
Globus
Grafik
Grotte
Guitar
Hav
Hegn
Helikopter
Helte
Honning
Hotel
Hval
Hvede
Ild
Import
Indsats
Jazz
Kabel
Kabinet
Kaktus
Kalkun
Kanin
Kanon
Kappe
Katedral
Ketchup
Kind
Kiosk
Kirke
Kiste
Kittel
Klarinet
Klode
Kobber
Kokos
Kolbe
Komet
Komfur
Konto
Koral
Kork
Korn
Kost
Krabbe
Kran
Krise
Kupon
Kurv
Lakrids
Lantern
Lektie
Lemon
Lever
Lift
Linse
Liter
Litteratur
Lokale
Lyn
Marmor
Medie
Messe
Metal
Million
Mineral
Mission
Monument
Natur
Nektar
Nerve
Nylon
Oase
Opera
Optik
Orbit
Organ
Ovn
Pap
Plastik
Rabat
Radio
Saft
Salat
Sektor
Velfaerd
Zenit
Zone