Changes to underworlds.scroll.pub

ScrollHub
ScrollHub
14 days ago
Initial commit
concepts.scroll
Changed around line 1
+ measures.parsers
+
+ id Hades
+ culture Ancient Greek
+ ruler Hades
+ moralAlignment neutral
+ afterlifePurpose Eternal resting place for souls
+ entrance Ferry across the River Styx
+
+ id Helheim
+ culture Norse
+ ruler Hel
+ moralAlignment neutral
+ afterlifePurpose Realm for those who died of old age or illness
+ entrance Travel through dark, misty paths
+
+ id Naraka
+ culture Hindu/Buddhist
+ ruler Yama
+ moralAlignment punitive
+ afterlifePurpose Temporary punishment for misdeeds
+ entrance Judged by Yama's servants
+
+ id Duat
+ culture Ancient Egyptian
+ ruler Osiris
+ moralAlignment dualistic
+ afterlifePurpose Judgment and rebirth
+ entrance Journey through dangerous gates
+
+ id Xibalba
+ culture Mayan
+ ruler Death Gods
+ moralAlignment punitive
+ afterlifePurpose Tests and trials for souls
+ entrance Through caves or cenotes
footer.scroll
Changed around line 1
+ importOnly
+ center
+ scrollVersionLink
header.scroll
Changed around line 1
+ importOnly
+ buildHtml
+ homeButton
+ metaTags
+ editButton
+ editBaseUrl /edit.html?folderName=underworlds.scroll.pub&fileName=
+ metaTags
+ style.css
+ script.js
index.scroll
Changed around line 1
+ title Mythological Underworlds Database
+ header.scroll
+

Mythological Underworlds

+

Explore the afterlife realms from cultures around the world

+ concepts.scroll
+ concepts
+ printTable
+ footer.scroll
measures.parsers
Changed around line 1
+ idParser
+ extends abstractIdParser
+
+ cultureParser
+ extends abstractStringMeasureParser
+ description The culture or religion this underworld concept belongs to
+
+ rulerParser
+ extends abstractStringMeasureParser
+ description The deity or being who rules this underworld
+
+ moralAlignmentParser
+ extends abstractStringMeasureParser
+ description The moral alignment of this underworld (neutral, punitive, etc.)
+ values neutral, punitive, dualistic, other
+
+ afterlifePurposeParser
+ extends abstractStringMeasureParser
+ description The primary purpose of this underworld in the afterlife
+
+ entranceParser
+ extends abstractStringMeasureParser
+ description How souls typically enter this underworld
prompt.json
Changed around line 1
+ {
+ "id": "543ac66d-790d-46ec-992d-46223a07d3e2",
+ "object": "chat.completion",
+ "created": 1748757785,
+ "model": "deepseek-chat",
+ "choices": [
+ {
+ "index": 0,
+ "message": {
+ "role": "assistant",
+ "content": "Here's a knowledge base about mythological underworlds and hells from different cultures:\n\n---domain---\nunderworlds.scroll.pub\n\n---measures.parsers---\nidParser\n extends abstractIdParser\n\ncultureParser\n extends abstractStringMeasureParser\n description The culture or religion this underworld concept belongs to\n\nrulerParser\n extends abstractStringMeasureParser\n description The deity or being who rules this underworld\n\nmoralAlignmentParser\n extends abstractStringMeasureParser\n description The moral alignment of this underworld (neutral, punitive, etc.)\n values neutral, punitive, dualistic, other\n\nafterlifePurposeParser\n extends abstractStringMeasureParser\n description The primary purpose of this underworld in the afterlife\n\nentranceParser\n extends abstractStringMeasureParser\n description How souls typically enter this underworld\n\n---concepts.scroll---\nmeasures.parsers\n\nid Hades\nculture Ancient Greek\nruler Hades\nmoralAlignment neutral\nafterlifePurpose Eternal resting place for souls\nentrance Ferry across the River Styx\n\nid Helheim\nculture Norse\nruler Hel\nmoralAlignment neutral\nafterlifePurpose Realm for those who died of old age or illness\nentrance Travel through dark, misty paths\n\nid Naraka\nculture Hindu/Buddhist\nruler Yama\nmoralAlignment punitive\nafterlifePurpose Temporary punishment for misdeeds\nentrance Judged by Yama's servants\n\nid Duat\nculture Ancient Egyptian\nruler Osiris\nmoralAlignment dualistic\nafterlifePurpose Judgment and rebirth\nentrance Journey through dangerous gates\n\nid Xibalba\nculture Mayan\nruler Death Gods\nmoralAlignment punitive\nafterlifePurpose Tests and trials for souls\nentrance Through caves or cenotes\n\n---index.scroll---\ntitle Mythological Underworlds Database\nheader.scroll\n

Mythological Underworlds

\n

Explore the afterlife realms from cultures around the world

\nconcepts.scroll\nconcepts\n printTable\nfooter.scroll\n\n---header.scroll---\nimportOnly\nbuildHtml\nhomeButton\nmetaTags\neditButton\neditBaseUrl /edit.html?folderName=underworlds.scroll.pub&fileName=\nmetaTags\nstyle.css\nscript.js\n\n---footer.scroll---\nimportOnly\ncenter\nscrollVersionLink\n\n---style.css---\n:root {\n --primary: #5e2c99;\n --secondary: #301934;\n --accent: #9b59b6;\n --light: #f5e6ff;\n --dark: #1a001a;\n}\n\nbody {\n font-family: 'Georgia', serif;\n line-height: 1.6;\n color: var(--dark);\n background-color: var(--light);\n margin: 0;\n padding: 0;\n}\n\nheader {\n background: linear-gradient(135deg, var(--primary), var(--secondary));\n color: white;\n padding: 2rem 1rem;\n text-align: center;\n border-bottom: 4px solid var(--accent);\n}\n\nh1 {\n margin: 0;\n font-size: 2.5rem;\n text-shadow: 2px 2px 4px rgba(0,0,0,0.3);\n}\n\nheader p {\n font-size: 1.2rem;\n max-width: 800px;\n margin: 1rem auto;\n}\n\nmain {\n max-width: 1000px;\n margin: 2rem auto;\n padding: 0 1rem;\n}\n\ntable {\n width: 100%;\n border-collapse: collapse;\n margin: 2rem 0;\n box-shadow: 0 4px 8px rgba(0,0,0,0.1);\n background: white;\n}\n\nth {\n background-color: var(--primary);\n color: white;\n padding: 1rem;\n text-align: left;\n}\n\ntd {\n padding: 0.8rem 1rem;\n border-bottom: 1px solid #eee;\n}\n\ntr:nth-child(even) {\n background-color: #f9f3ff;\n}\n\ntr:hover {\n background-color: #f0e0ff;\n}\n\nfooter {\n text-align: center;\n padding: 2rem;\n color: var(--dark);\n border-top: 1px solid #ddd;\n}\n\n@media (max-width: 768px) {\n h1 {\n font-size: 2rem;\n }\n \n table {\n display: block;\n overflow-x: auto;\n }\n \n th, td {\n padding: 0.6rem;\n font-size: 0.9rem;\n }\n}\n\n---script.js---\ndocument.addEventListener('DOMContentLoaded', function() {\n // Add animation to table rows\n const rows = document.querySelectorAll('tbody tr');\n rows.forEach((row, index) => {\n row.style.opacity = '0';\n row.style.transform = 'translateY(20px)';\n row.style.transition = `all 0.3s ease ${index * 0.1}s`;\n \n setTimeout(() => {\n row.style.opacity = '1';\n row.style.transform = 'translateY(0)';\n }, 100);\n });\n \n // Add click effect to table rows\n rows.forEach(row => {\n row.addEventListener('click', function() {\n this.style.backgroundColor = '#f0e0ff';\n setTimeout(() => {\n this.style.backgroundColor = '';\n }, 300);\n });\n });\n});\n\n---end---"
+ },
+ "logprobs": null,
+ "finish_reason": "stop"
+ }
+ ],
+ "usage": {
+ "prompt_tokens": 603,
+ "completion_tokens": 1171,
+ "total_tokens": 1774,
+ "prompt_tokens_details": {
+ "cached_tokens": 0
+ },
+ "prompt_cache_hit_tokens": 0,
+ "prompt_cache_miss_tokens": 603
+ },
+ "system_fingerprint": "fp_8802369eaa_prod0425fp8"
+ }
readme.scroll
Changed around line 1
+ # underworlds.scroll.pub
+
+ Prompt: database
+ Agent: deepseek
+ Model: deepseek-chat
+
+ ## User prompt
+ hell
+
+ ## System prompt
+ You are an expert web, scroll, and knowledge base developer. Create a knowledge base using ScrollSets based on this request: "hell"
+
+ ScrollSets use the Particles, Parsers, and Scroll stack to define measures, and then encode concepts using those measures.
+
+ For example:
+
+ ---measures.parsers---
+ idParser
+ extends abstractIdParser
+ organismParser
+ extends abstractStringMeasureParser
+ description The organism name mainly associated with the organelle such as human, plant, whale, etc.
+ diameterParser
+ extends abstractIntegerMeasureParser
+ description The diameter of the organelle in nanometers
+ lowParser
+ extends abstractIntegerMeasureParser
+ description For cells that have this kind of organelle, how many are usually found on the low end?
+ medianParser
+ extends abstractIntegerMeasureParser
+ description For cells that have this kind of organelle, how many are usually found in the median?
+ highParser
+ extends abstractIntegerMeasureParser
+ description For cells that have this kind of organelle, how many are usually found on the high end?
+
+ ---concepts.scroll---
+ measures.parsers
+
+ id Mitochondria
+ organism human
+ diameter 1000
+ low 200
+ median 500
+ high 2000
+
+ id Chloroplast
+ organism plant
+ diameter 6000
+ low 20
+ median 40
+ high 100
+
+ id Nucleus
+ organism human
+ diameter 6000
+ low 1
+ median 1
+ high 2
+
+ ---
+
+ Requirements:
+ - Create 5 - 7 measures. The most important things about this topic.
+ - Write 5 concepts. The most important concepts in this topic.
+ - Build a nice homepage iterating over the data.
+ - Use only Scroll, CSS, and JavaScript (NO frameworks, NO external dependencies)
+ - Create clean, semantic HTML5
+ - Make it mobile-responsive
+ - Follow modern best practices and accessibility guidelines
+ - Keep it simple but professional
+ - Use only relative links and no external resources
+ - Do not put a copyright symbol or all rights reserved in the footer.
+ - Make it beautiful. Dazzling. Advanced used of CSS.
+
+ First suggest a short, memorable domain name ending in scroll.pub that represents this website. Then provide the website files. Use this exact format:
+
+ ---domain---
+ (domainscroll.pub here)
+ ---measures.parsers---
+ (put measures here)
+ ---concepts.scroll---
+ (put concepts here)
+ ---index.scroll---
+ title (database title here)
+ header.scroll
+ (content here)
+ concepts.scroll
+ concepts
+ printTable
+ footer.scroll
+ ---header.scroll---
+ importOnly
+ buildHtml
+ homeButton
+ metaTags
+ editButton
+ editBaseUrl /edit.html?folderName=(domainscroll.pub here)&fileName=
+ metaTags
+ style.css
+ script.js
+ ---footer.scroll---
+ importOnly
+ center
+ scrollVersionLink
+ ---style.css---
+ (CSS content here)
+ ---script.js---
+ (JavaScript content here)
+ ---end---
script.js
Changed around line 1
+ document.addEventListener('DOMContentLoaded', function() {
+ // Add animation to table rows
+ const rows = document.querySelectorAll('tbody tr');
+ rows.forEach((row, index) => {
+ row.style.opacity = '0';
+ row.style.transform = 'translateY(20px)';
+ row.style.transition = `all 0.3s ease ${index * 0.1}s`;
+
+ setTimeout(() => {
+ row.style.opacity = '1';
+ row.style.transform = 'translateY(0)';
+ }, 100);
+ });
+
+ // Add click effect to table rows
+ rows.forEach(row => {
+ row.addEventListener('click', function() {
+ this.style.backgroundColor = '#f0e0ff';
+ setTimeout(() => {
+ this.style.backgroundColor = '';
+ }, 300);
+ });
+ });
+ });
style.css
Changed around line 1
+ :root {
+ --primary: #5e2c99;
+ --secondary: #301934;
+ --accent: #9b59b6;
+ --light: #f5e6ff;
+ --dark: #1a001a;
+ }
+
+ body {
+ font-family: 'Georgia', serif;
+ line-height: 1.6;
+ color: var(--dark);
+ background-color: var(--light);
+ margin: 0;
+ padding: 0;
+ }
+
+ header {
+ background: linear-gradient(135deg, var(--primary), var(--secondary));
+ color: white;
+ padding: 2rem 1rem;
+ text-align: center;
+ border-bottom: 4px solid var(--accent);
+ }
+
+ h1 {
+ margin: 0;
+ font-size: 2.5rem;
+ text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
+ }
+
+ header p {
+ font-size: 1.2rem;
+ max-width: 800px;
+ margin: 1rem auto;
+ }
+
+ main {
+ max-width: 1000px;
+ margin: 2rem auto;
+ padding: 0 1rem;
+ }
+
+ table {
+ width: 100%;
+ border-collapse: collapse;
+ margin: 2rem 0;
+ box-shadow: 0 4px 8px rgba(0,0,0,0.1);
+ background: white;
+ }
+
+ th {
+ background-color: var(--primary);
+ color: white;
+ padding: 1rem;
+ text-align: left;
+ }
+
+ td {
+ padding: 0.8rem 1rem;
+ border-bottom: 1px solid #eee;
+ }
+
+ tr:nth-child(even) {
+ background-color: #f9f3ff;
+ }
+
+ tr:hover {
+ background-color: #f0e0ff;
+ }
+
+ footer {
+ text-align: center;
+ padding: 2rem;
+ color: var(--dark);
+ border-top: 1px solid #ddd;
+ }
+
+ @media (max-width: 768px) {
+ h1 {
+ font-size: 2rem;
+ }
+
+ table {
+ display: block;
+ overflow-x: auto;
+ }
+
+ th, td {
+ padding: 0.6rem;
+ font-size: 0.9rem;
+ }
+ }