Changes to modex.scroll.pub

root
root
1 day ago
Initial commit
concepts.scroll
Changed around line 1
+ measures.parsers
+
+ id must
+ modality deontic
+ strength 9
+ register formal
+ frequency 856
+ origin Old_English
+
+ id might
+ modality epistemic
+ strength 4
+ register neutral
+ frequency 623
+ origin Old_English
+
+ id should
+ modality deontic
+ strength 7
+ register neutral
+ frequency 1245
+ origin Old_English
+
+ id could
+ modality dynamic
+ strength 5
+ register neutral
+ frequency 1467
+ origin Old_English
+
+ id ought
+ modality deontic
+ strength 6
+ register formal
+ frequency 142
+ origin Middle_English
footer.scroll
Changed around line 1
+ importOnly
+ center
+ scrollVersionLink
header.scroll
Changed around line 1
+ importOnly
+ buildHtml
+ homeButton
+ metaTags
+ editButton
+ editBaseUrl /edit.html?folderName=modex.scroll.pub&fileName=
+ metaTags
+ style.css
+ script.js
index.scroll
Changed around line 1
+ title Modal Expressions Database
+ header.scroll
+
+ # Modal Expressions Knowledge Base
+
+ description A comprehensive database of modal expressions in English, including their types, strengths, and usage patterns.
+
+ section Introduction
+ Modern English employs various modal expressions to convey possibility, necessity, obligation, and permission. This database catalogues these expressions with their key characteristics and usage patterns.
+
+ section Key Features
+ - Modality types (epistemic, deontic, dynamic)
+ - Relative strength measurements
+ - Usage frequency data
+ - Register information
+ - Historical origins
+
+ concepts.scroll
+ concepts
+ printTable
+
+ footer.scroll
measures.parsers
Changed around line 1
+ idParser
+ extends abstractIdParser
+ modalityParser
+ extends abstractStringMeasureParser
+ description The type of modality expressed (epistemic, deontic, dynamic, etc.)
+ strengthParser
+ extends abstractIntegerMeasureParser
+ description The relative strength of the modal expression on a scale of 1-10
+ registerParser
+ extends abstractStringMeasureParser
+ description The language register where this modal expression is commonly used
+ frequencyParser
+ extends abstractIntegerMeasureParser
+ description Frequency per million words in general corpus
+ originParser
+ extends abstractStringMeasureParser
+ description Historical or etymological origin of the modal expression
prompt.json
Changed around line 1
+ {
+ "id": "msg_015A8mrLg3RcY7hLWdhinXBM",
+ "type": "message",
+ "role": "assistant",
+ "model": "claude-3-5-sonnet-20241022",
+ "content": [
+ {
+ "type": "text",
+ "text": "I'll create a knowledge base about \"modex\" (modal expressions in language).\n\n---domain---\nmodex.scroll.pub\n\n---measures.parsers---\nidParser\n extends abstractIdParser\nmodalityParser\n extends abstractStringMeasureParser\n description The type of modality expressed (epistemic, deontic, dynamic, etc.)\nstrengthParser\n extends abstractIntegerMeasureParser\n description The relative strength of the modal expression on a scale of 1-10\nregisterParser\n extends abstractStringMeasureParser\n description The language register where this modal expression is commonly used\nfrequencyParser\n extends abstractIntegerMeasureParser\n description Frequency per million words in general corpus\noriginParser\n extends abstractStringMeasureParser\n description Historical or etymological origin of the modal expression\n\n---concepts.scroll---\nmeasures.parsers\n\nid must\nmodality deontic\nstrength 9\nregister formal\nfrequency 856\norigin Old_English\n\nid might\nmodality epistemic\nstrength 4\nregister neutral\nfrequency 623\norigin Old_English\n\nid should\nmodality deontic\nstrength 7\nregister neutral\nfrequency 1245\norigin Old_English\n\nid could\nmodality dynamic\nstrength 5\nregister neutral\nfrequency 1467\norigin Old_English\n\nid ought\nmodality deontic\nstrength 6\nregister formal\nfrequency 142\norigin Middle_English\n\n---index.scroll---\ntitle Modal Expressions Database\nheader.scroll\n\n# Modal Expressions Knowledge Base\n\ndescription A comprehensive database of modal expressions in English, including their types, strengths, and usage patterns.\n\nsection Introduction\n Modern English employs various modal expressions to convey possibility, necessity, obligation, and permission. This database catalogues these expressions with their key characteristics and usage patterns.\n\nsection Key Features\n - Modality types (epistemic, deontic, dynamic)\n - Relative strength measurements\n - Usage frequency data\n - Register information\n - Historical origins\n\nconcepts.scroll\nconcepts\n printTable\n\nfooter.scroll\n\n---header.scroll---\nimportOnly\nbuildHtml\nhomeButton\nmetaTags\neditButton\neditBaseUrl /edit.html?folderName=modex.scroll.pub&fileName=\nmetaTags\nstyle.css\nscript.js\n\n---footer.scroll---\nimportOnly\ncenter\nscrollVersionLink\n\n---style.css---\n:root {\n --primary-color: #2c3e50;\n --secondary-color: #34495e;\n --accent-color: #3498db;\n --background-color: #ecf0f1;\n --text-color: #2c3e50;\n}\n\nbody {\n font-family: 'Segoe UI', system-ui, sans-serif;\n line-height: 1.6;\n color: var(--text-color);\n background: var(--background-color);\n margin: 0;\n padding: 0;\n}\n\n.container {\n max-width: 1200px;\n margin: 0 auto;\n padding: 2rem;\n}\n\nh1 {\n font-size: 2.5rem;\n color: var(--primary-color);\n text-align: center;\n margin-bottom: 2rem;\n background: linear-gradient(120deg, var(--accent-color) 0%, var(--primary-color) 100%);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n\ntable {\n width: 100%;\n border-collapse: collapse;\n background: white;\n border-radius: 8px;\n overflow: hidden;\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n margin: 2rem 0;\n}\n\nth, td {\n padding: 1rem;\n text-align: left;\n border-bottom: 1px solid #e1e1e1;\n}\n\nth {\n background: var(--primary-color);\n color: white;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n}\n\ntr:hover {\n background: rgba(52, 152, 219, 0.1);\n}\n\n@media (max-width: 768px) {\n .container {\n padding: 1rem;\n }\n \n table {\n display: block;\n overflow-x: auto;\n }\n \n th, td {\n padding: 0.8rem;\n }\n}\n\n.description {\n background: white;\n padding: 2rem;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n margin: 2rem 0;\n}\n\n---script.js---\ndocument.addEventListener('DOMContentLoaded', function() {\n // Add smooth scrolling\n document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n anchor.addEventListener('click', function (e) {\n e.preventDefault();\n document.querySelector(this.getAttribute('href')).scrollIntoView({\n behavior: 'smooth'\n });\n });\n });\n\n // Add table sorting functionality\n const tables = document.querySelectorAll('table');\n tables.forEach(table => {\n const headers = table.querySelectorAll('th');\n headers.forEach((header, index) => {\n header.addEventListener('click', () => {\n sortTable(table, index);\n });\n header.style.cursor = 'pointer';\n });\n });\n});\n\nfunction sortTable(table, column) {\n const tbody = table.querySelector('tbody');\n const rows = Array.from(tbody.querySelectorAll('tr'));\n const isNumeric = rows.every(row => \n !isNaN(row.children[column].textContent.trim())\n );\n\n rows.sort((a, b) => {\n const aValue = a.children[column].textContent.trim();\n const bValue = b.children[column].textContent.trim();\n \n if (isNumeric) {\n return parseFloat(aValue) - parseFloat(bValue);\n }\n return aValue.localeCompare(bValue);\n });\n\n tbody.innerHTML = '';\n rows.forEach(row => tbody.appendChild(row));\n}\n\n---end---"
+ }
+ ],
+ "stop_reason": "end_turn",
+ "stop_sequence": null,
+ "usage": {
+ "input_tokens": 695,
+ "cache_creation_input_tokens": 0,
+ "cache_read_input_tokens": 0,
+ "output_tokens": 1561
+ }
+ }
readme.scroll
Changed around line 1
+ # modex.scroll.pub
+
+ Prompt: database
+ Agent: claude
+ Model: claude-3-5-sonnet-20241022
+
+ ## User prompt
+ modex
+
+ ## System prompt
+ You are an expert web, scroll, and knowledge base developer. Create a knowledge base using ScrollSets based on this request: "modex"
+
+ 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 smooth scrolling
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
+ anchor.addEventListener('click', function (e) {
+ e.preventDefault();
+ document.querySelector(this.getAttribute('href')).scrollIntoView({
+ behavior: 'smooth'
+ });
+ });
+ });
+
+ // Add table sorting functionality
+ const tables = document.querySelectorAll('table');
+ tables.forEach(table => {
+ const headers = table.querySelectorAll('th');
+ headers.forEach((header, index) => {
+ header.addEventListener('click', () => {
+ sortTable(table, index);
+ });
+ header.style.cursor = 'pointer';
+ });
+ });
+ });
+
+ function sortTable(table, column) {
+ const tbody = table.querySelector('tbody');
+ const rows = Array.from(tbody.querySelectorAll('tr'));
+ const isNumeric = rows.every(row =>
+ !isNaN(row.children[column].textContent.trim())
+ );
+
+ rows.sort((a, b) => {
+ const aValue = a.children[column].textContent.trim();
+ const bValue = b.children[column].textContent.trim();
+
+ if (isNumeric) {
+ return parseFloat(aValue) - parseFloat(bValue);
+ }
+ return aValue.localeCompare(bValue);
+ });
+
+ tbody.innerHTML = '';
+ rows.forEach(row => tbody.appendChild(row));
+ }
style.css
Changed around line 1
+ :root {
+ --primary-color: #2c3e50;
+ --secondary-color: #34495e;
+ --accent-color: #3498db;
+ --background-color: #ecf0f1;
+ --text-color: #2c3e50;
+ }
+
+ body {
+ font-family: 'Segoe UI', system-ui, sans-serif;
+ line-height: 1.6;
+ color: var(--text-color);
+ background: var(--background-color);
+ margin: 0;
+ padding: 0;
+ }
+
+ .container {
+ max-width: 1200px;
+ margin: 0 auto;
+ padding: 2rem;
+ }
+
+ h1 {
+ font-size: 2.5rem;
+ color: var(--primary-color);
+ text-align: center;
+ margin-bottom: 2rem;
+ background: linear-gradient(120deg, var(--accent-color) 0%, var(--primary-color) 100%);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ }
+
+ table {
+ width: 100%;
+ border-collapse: collapse;
+ background: white;
+ border-radius: 8px;
+ overflow: hidden;
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
+ margin: 2rem 0;
+ }
+
+ th, td {
+ padding: 1rem;
+ text-align: left;
+ border-bottom: 1px solid #e1e1e1;
+ }
+
+ th {
+ background: var(--primary-color);
+ color: white;
+ font-weight: 600;
+ text-transform: uppercase;
+ letter-spacing: 0.1em;
+ }
+
+ tr:hover {
+ background: rgba(52, 152, 219, 0.1);
+ }
+
+ @media (max-width: 768px) {
+ .container {
+ padding: 1rem;
+ }
+
+ table {
+ display: block;
+ overflow-x: auto;
+ }
+
+ th, td {
+ padding: 0.8rem;
+ }
+ }
+
+ .description {
+ background: white;
+ padding: 2rem;
+ border-radius: 8px;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
+ margin: 2rem 0;
+ }