diff --git a/app/package.json b/app/package.json index f4e84d7..80ee736 100644 --- a/app/package.json +++ b/app/package.json @@ -16,7 +16,10 @@ "dependencies": { "sass": "^1.98.0", "sass-embedded": "^1.98.0", - "vue": "^3.5.30" + "vue": "^3.5.30", + "@tiptap/pm": "^3.28.0", + "@tiptap/starter-kit": "^3.28.0", + "@tiptap/vue-3": "^3.28.0" }, "devDependencies": { "@vitejs/plugin-vue": "^6.0.5", diff --git a/app/public/drops/flowmap/meta.json b/app/public/drops/flowmap/meta.json index 0a2789d..324f202 100644 --- a/app/public/drops/flowmap/meta.json +++ b/app/public/drops/flowmap/meta.json @@ -1,7 +1,44 @@ { "name": "flowmap", - "title": "Flowmap Test", - "description": "An interactive flowmap visualization experiment and more", + "title": "Flowmap", + "description": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "I used a fluid simulation in webgl to create this flowmap with arrows showing the direction or \"current\" within the flow field." + } + ] + }, + { + "type": "paragraph" + }, + { + "type": "paragraph", + "content": [ + { + "type": "text", + "marks": [ + { + "type": "link", + "attrs": { + "href": "https://github.com/oframe/ogl/blob/master/examples/post-fluid-distortion.html", + "target": "_blank", + "rel": "noopener noreferrer nofollow", + "class": null, + "title": null + } + } + ], + "text": "https://github.com/oframe/ogl/blob/master/examples/post-fluid-distortion.html" + } + ] + } + ] + }, "date": "2026-07-16", "tags": [ "visualization" diff --git a/app/public/drops/testing/meta.json b/app/public/drops/testing/meta.json index 0036315..6f20c8e 100644 --- a/app/public/drops/testing/meta.json +++ b/app/public/drops/testing/meta.json @@ -1,9 +1,50 @@ { "name": "testing", "title": "Testing", - "description": "A brief description of what this drop does", + "description": { + "type": "doc", + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "This is just a test drop to make sure everything is working correctly." + } + ] + }, + { + "type": "heading", + "attrs": { + "level": 1 + }, + "content": [ + { + "type": "text", + "text": "Heading" + } + ] + }, + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "more text." + } + ] + }, + { + "type": "paragraph" + } + ] + }, "date": "2026-07-16", - "tags": ["tag1", "tag2", "tag3"], + "tags": [ + "tag1", + "tag2", + "tag3" + ], "links": [ { "label": "Source Code", @@ -11,4 +52,4 @@ } ], "notes": "Any additional notes or thoughts about this drop" -} +} \ No newline at end of file diff --git a/app/src/App.vue b/app/src/App.vue index 4d27ddc..14ccc57 100644 --- a/app/src/App.vue +++ b/app/src/App.vue @@ -6,6 +6,7 @@ :index="activeIndex" :previousActive="activeIndex > 0" :nextActive="activeIndex < drops.length - 1" + :key="activeIndex" @previous="onPrevious" @next="onNext" /> @@ -15,7 +16,7 @@ -
+

Braindrops

View Drops
@@ -23,7 +24,7 @@ diff --git a/shared/styles/_functions.scss b/shared/styles/_functions.scss index e7c8bf9..88dde86 100644 --- a/shared/styles/_functions.scss +++ b/shared/styles/_functions.scss @@ -1,7 +1,20 @@ -@use "sass:math"; +@use 'sass:math'; @function rs($pixels, $base-vw: 1600px) { - $vw-value: math.div($pixels * 100vw, $base-vw); + $vw-value: math.div($pixels * 100vw, $base-vw); - @return max($vw-value, $pixels); + @return max($vw-value, $pixels); +} + +@function columns($columns) { + @return calc( + (#{$columns} * var(--layout-column-width)) + + ((#{$columns} - 1) * var(--layout-column-gap)) + ); +} + +@mixin child-grid($columns) { + grid-template-columns: repeat($columns, minmax(0, 1fr)); + column-gap: var(--layout-columns-gap); + display: grid; }