1export const SITE = { 2 title: 'Strudel', 3 description: 'Strudel is a music live coding editor that brings TidalCycles to the browser.', 4 defaultLanguage: 'en', 5}; 6 7export const OPEN_GRAPH = { 8 image: { 9 src: 'https://strudel.cc/icon.png', 10 alt: 'Strudel Logo', 11 }, 12}; 13 14// This is the type of the frontmatter you put in the docs markdown files. 15export type Frontmatter = { 16 title: string; 17 description: string; 18 layout: string; 19 image?: { src: string; alt: string }; 20 dir?: 'ltr' | 'rtl'; 21 ogLocale?: string; 22 lang?: string; 23}; 24 25export const KNOWN_LANGUAGES = { 26 English: 'en', 27 German: 'de', 28} as const; 29export const KNOWN_LANGUAGE_CODES = Object.values(KNOWN_LANGUAGES); 30 31export const GITHUB_EDIT_URL = `https://codeberg.org/uzu/strudel/src/branch/main/website`; 32 33export const COMMUNITY_INVITE_URL = `https://discord.com/invite/HGEdXmRkzT`; 34 35// See "Algolia" section of the README for more information. 36export const ALGOLIA = { 37 indexName: 'strudel-tidalcycles', 38 appId: 'SAZ71S8CLS', 39 apiKey: 'd5044f9d21b80e7721e5b0067a8730b1', 40}; 41 42export type SidebarLang = Record<string, { text: string; link: string }[]>; 43export type Sidebar = Record<(typeof KNOWN_LANGUAGE_CODES)[number], SidebarLang>; 44export const SIDEBAR: Sidebar = { 45 de: { 46 Workshop: [ 47 { text: 'Intro', link: 'de/workshop/getting-started' }, 48 { text: 'Erste Sounds', link: 'de/workshop/first-sounds' }, 49 { text: 'Erste Töne', link: 'de/workshop/first-notes' }, 50 { text: 'Erste Effekte', link: 'de/workshop/first-effects' }, 51 { text: 'Pattern Effekte', link: 'de/workshop/pattern-effects' }, 52 { text: 'Rückblick', link: 'de/workshop/recap' }, 53 { text: 'Mehr Seiten auf Englisch', link: 'workshop/getting-started' }, 54 ], 55 }, 56 en: { 57 Presentation: [ 58 { text: 'What is Strudel?', link: 'workshop/getting-started' }, 59 { text: 'Showcase', link: 'intro/showcase' }, 60 { text: 'Blog', link: 'blog' }, 61 /* { text: 'Community Bakery', link: 'bakery' }, */ 62 ], 63 Workshop: [ 64 // { text: 'Getting Started', link: 'workshop/getting-started' }, 65 { text: 'First Sounds', link: 'workshop/first-sounds' }, 66 { text: 'First Notes', link: 'workshop/first-notes' }, 67 { text: 'First Effects', link: 'workshop/first-effects' }, 68 { text: 'Pattern Effects', link: 'workshop/pattern-effects' }, 69 { text: 'Recap', link: 'workshop/recap' }, 70 { text: 'Workshop in German', link: 'de/workshop/getting-started' }, 71 ], 72 'Making Sound': [ 73 { text: 'Samples', link: 'learn/samples' }, 74 { text: 'Synths', link: 'learn/synths' }, 75 { text: 'Audio Effects', link: 'learn/effects' }, 76 { text: 'MIDI & OSC', link: 'learn/input-output' }, 77 ], 78 More: [ 79 { text: 'FAQ', link: 'learn/faq' }, 80 { text: 'Recipes', link: 'recipes/recipes' }, 81 { text: 'Mini-Notation', link: 'learn/mini-notation' }, 82 { text: 'Visual Feedback', link: 'learn/visual-feedback' }, 83 { text: 'Offline', link: 'learn/pwa' }, 84 { text: 'Patterns', link: 'technical-manual/patterns' }, 85 { text: 'Mondo Notation', link: 'learn/mondo-notation' }, 86 { text: 'Music metadata', link: 'learn/metadata' }, 87 { text: 'CSound', link: 'learn/csound' }, 88 { text: 'Hydra', link: 'learn/hydra' }, 89 { text: 'Input Devices', link: 'learn/input-devices' }, 90 { text: 'Device Motion', link: 'learn/devicemotion' }, 91 ], 92 'Pattern Functions': [ 93 { text: 'Introduction', link: 'functions/intro' }, 94 { text: 'Creating Patterns', link: 'learn/factories' }, 95 { text: 'Time Modifiers', link: 'learn/time-modifiers' }, 96 { text: 'Control Parameters', link: 'functions/value-modifiers' }, 97 { text: 'Signals', link: 'learn/signals' }, 98 { text: 'Random Modifiers', link: 'learn/random-modifiers' }, 99 { text: 'Conditional Modifiers', link: 'learn/conditional-modifiers' }, 100 { text: 'Accumulation', link: 'learn/accumulation' }, 101 { text: 'LFOs', link: 'learn/lfo' }, 102 { text: 'Tonal Functions', link: 'learn/tonal' }, 103 { text: 'Stepwise Functions', link: 'learn/stepwise' }, 104 ], 105 Understand: [ 106 { text: 'Coding syntax', link: 'learn/code' }, 107 { text: 'Pitch', link: 'understand/pitch' }, 108 { text: 'Xenharmonic Functions', link: 'learn/xen' }, 109 { text: 'Cycles', link: 'understand/cycles' }, 110 { text: 'Voicings', link: 'understand/voicings' }, 111 { text: 'Pattern Alignment', link: 'technical-manual/alignment' }, 112 { text: 'Strudel vs Tidal', link: 'learn/strudel-vs-tidal' }, 113 ], 114 Development: [ 115 { text: 'Strudel in your Project', link: 'technical-manual/project-start' }, 116 { text: 'Packages', link: 'technical-manual/packages' }, 117 { text: 'REPL', link: 'technical-manual/repl' }, 118 { text: 'Sounds', link: 'technical-manual/sounds' }, 119 { text: 'Docs', link: 'technical-manual/docs' }, 120 { text: 'Testing', link: 'technical-manual/testing' }, 121 // { text: 'Internals', link: 'technical-manual/internals' }, 122 ], 123 }, 124};