From fab0f57c09b81e3b0795ddb9bde2f76d0917ba6b Mon Sep 17 00:00:00 2001 From: Owen Kent Date: Tue, 24 Feb 2026 21:04:55 -0500 Subject: [PATCH 1/5] Restructure navigation: streamline header and integrate content - Remove Demonstrations, Search, and Community from main navigation - Reduce header navigation from 8 items to 5 (Home, About, Downloads, Docs, FAQ) - Update footer navigation to match header with consistent styling Content Integration: - Move demonstration GIF into 'What is Dasher' section on homepage - Add web demo iframe to homepage as 'Try It Now' section - Add video demonstrations section to About page with YouTube embeds - Add community links section to About page (Matrix, GitHub, Blog) - Integrate Pagefind search UI into Docs index page - Convert docs/index.md to docs/index.astro for search functionality Link Updates: - Update all internal links from /demonstrations/ to /about/#demonstrations - Update all internal links from /community/ to /about/#community - Update sidebar quick links on About page to reference new anchor sections - Fix 13 broken internal references across 9 documentation files Files Removed: - src/pages/demonstrations.astro - src/pages/search.astro - src/pages/community.astro - src/pages/docs/index.md (replaced with index.astro) This restructure improves navigation clarity while preserving all content and ensuring accessibility through logical content organization. --- src/layouts/BaseLayout.astro | 44 ++-- src/pages/about.astro | 127 +++++++++++- src/pages/community.astro | 58 ------ src/pages/demonstrations.astro | 188 ------------------ .../docs/concepts/how-dasher-works/page-3.md | 2 +- .../getting-started/how-to/manual/index.md | 2 +- .../docs/getting-started/how-to/tips/index.md | 4 +- src/pages/docs/getting-started/index.md | 4 +- src/pages/docs/index.astro | 172 ++++++++++++++++ src/pages/docs/index.md | 86 -------- src/pages/docs/research/future-directions.md | 4 +- src/pages/docs/special-needs/index.md | 4 +- src/pages/docs/tutorials/advanced/index.md | 2 +- src/pages/docs/tutorials/index.md | 2 +- src/pages/index.astro | 58 +++++- src/pages/press.astro | 2 +- src/pages/search.astro | 85 -------- 17 files changed, 388 insertions(+), 456 deletions(-) delete mode 100644 src/pages/community.astro delete mode 100644 src/pages/demonstrations.astro create mode 100644 src/pages/docs/index.astro delete mode 100644 src/pages/docs/index.md delete mode 100644 src/pages/search.astro diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro index 81c216d..b926027 100644 --- a/src/layouts/BaseLayout.astro +++ b/src/layouts/BaseLayout.astro @@ -6,11 +6,8 @@ const currentPath = Astro.url.pathname; const navItems = [ { href: '/', label: 'Home' }, { href: '/about/', label: 'About' }, - { href: '/demonstrations/', label: 'Demonstrations' }, { href: '/downloads/', label: 'Downloads' }, { href: '/docs/', label: 'Docs' }, - { href: '/search/', label: 'Search' }, - { href: '/community/', label: 'Community' }, { href: '/faq/', label: 'FAQ' }, ]; --- @@ -68,12 +65,19 @@ const navItems = [ @@ -213,11 +217,27 @@ const navItems = [ color: var(--color-text-secondary); } - .site-footer a { - color: var(--color-link); + .footer-brand p { + margin: 0; + color: var(--color-text-primary); + } + + .footer-nav-list { + list-style: none; + margin: 0; + padding: 0; + display: flex; + flex-wrap: wrap; + gap: var(--space-sm) var(--space-md); + } + + .footer-nav-list a { + color: var(--color-text-secondary); + text-decoration: none; + transition: var(--transition-smooth); } - .site-footer a:hover { + .footer-nav-list a:hover { color: var(--color-link-hover); } diff --git a/src/pages/about.astro b/src/pages/about.astro index a6110e3..a605e73 100644 --- a/src/pages/about.astro +++ b/src/pages/about.astro @@ -99,8 +99,9 @@ import BaseLayout from '../layouts/BaseLayout.astro'; @@ -182,5 +182,126 @@ import BaseLayout from '../layouts/BaseLayout.astro'; + + +
+

Video Demonstrations

+

+ Watch Dasher in action with these video demonstrations showing different input methods. +

+

+ Open Full YouTube Playlist +

+ +
+
+

Eye-Tracking Demo (Nov 2001)

+

Classic eye-tracking demonstration from the original project videos.

+
+ +
+
+ +
+

Control Mode

+

Enhanced eye-tracking mode demonstrating control mode behavior.

+
+ +
+
+ +
+

Dasher Eyetracker and BreathDasher

+

Additional legacy demos now hosted on YouTube.

+
+ +
+

+ More videos: + EyeDasher 4800, + BreathDasher. +

+
+
+
+ + +
+

Join the Dasher Community

+

+ Dasher is developed and maintained by a global community of users, developers, and + researchers. We welcome contributions of all kinds. +

+ + +
diff --git a/src/pages/community.astro b/src/pages/community.astro deleted file mode 100644 index 43074db..0000000 --- a/src/pages/community.astro +++ /dev/null @@ -1,58 +0,0 @@ ---- -import BaseLayout from '../layouts/BaseLayout.astro'; ---- - - - - diff --git a/src/pages/demonstrations.astro b/src/pages/demonstrations.astro deleted file mode 100644 index b02991d..0000000 --- a/src/pages/demonstrations.astro +++ /dev/null @@ -1,188 +0,0 @@ ---- -import BaseLayout from '../layouts/BaseLayout.astro'; ---- - - -
-
-

Dasher Demonstrations

- -

- Watch Dasher in action with these video demonstrations showing different input methods and - use cases. -

- -
-

What is Dasher?

-

- Dasher is a zooming interface that allows you to enter text by steering toward letters. As - you move toward a letter, it expands and other letters appear, creating a continuous flow - of text entry. -

-
- Animated GIF of Dasher in action -
-
- -
-

Input Method Demonstrations

- -
-
-

Mouse Input

-

- The most common way to use Dasher. Simply move your mouse to steer toward the letters - you want. -

-
- -
-

Touchscreen

-

- Perfect for tablets and smartphones. Touch and drag to navigate the zooming interface. -

-
- -
-

Eye-Tracking

-

- For users with limited motor control, Dasher works with eye-tracking devices for - hands-free text entry. -

-
- -
-

Head-Tracking

-

Use head movements to control Dasher, ideal for users who cannot use their hands.

-
-
-
- -
-

See It In Action

-

- The original project videos are now available on YouTube. Start with the full playlist, - then use the featured demos below. -

-

- Open YouTube Playlist -

- -
-
-

Eye-Tracking Demo (Nov 2001)

-

Classic eye-tracking demonstration from the original project videos.

-
- -
-
- -
-

Control Mode

-

Enhanced eye-tracking mode demonstrating control mode behavior.

-
- -
-
- -
-

Dasher Eyetracker and BreathDasher

-

Additional legacy demos now hosted on YouTube.

-
- -
-

- More videos: - EyeDasher 4800, - BreathDasher. -

-
-
-
- -
-

Web Demo (Preview)

-

- Try the browser-based version of Dasher directly on this page. This preview supports basic - functionality and is still missing some features from the desktop app. -

-
- -
-

- If the embed does not load, open the demo in a new tab: - dasher-web browser demo. -

-
- -
-

Try Dasher Yourself

-

- The best way to understand Dasher is to try it. Download and install Dasher on your - computer to experience the zooming interface firsthand. -

- -
-
-
-
diff --git a/src/pages/docs/concepts/how-dasher-works/page-3.md b/src/pages/docs/concepts/how-dasher-works/page-3.md index e7ae319..1c54976 100644 --- a/src/pages/docs/concepts/how-dasher-works/page-3.md +++ b/src/pages/docs/concepts/how-dasher-works/page-3.md @@ -65,7 +65,7 @@ The best way to understand Dasher is to see it in motion. We have several types Visit our demonstrations page to see animations and videos of Dasher in action.

- View All Demonstrations → + View All Demonstrations →

diff --git a/src/pages/docs/getting-started/how-to/manual/index.md b/src/pages/docs/getting-started/how-to/manual/index.md index 9601cce..18e849c 100644 --- a/src/pages/docs/getting-started/how-to/manual/index.md +++ b/src/pages/docs/getting-started/how-to/manual/index.md @@ -144,7 +144,7 @@ Your settings are automatically saved. To reset to defaults: ### Getting Help -- Visit the [Community](/community/) page for support +- Visit the [Community](/about/#community) page for support - Check the [Documentation](/docs/) for more guides - Report issues on [GitHub](https://github.com/dasher-project/dasher/issues) diff --git a/src/pages/docs/getting-started/how-to/tips/index.md b/src/pages/docs/getting-started/how-to/tips/index.md index 4c4ef55..825cf26 100644 --- a/src/pages/docs/getting-started/how-to/tips/index.md +++ b/src/pages/docs/getting-started/how-to/tips/index.md @@ -11,7 +11,7 @@ layout: ../../../../../layouts/DocsLayout.astro If you find Dasher hard to imagine based on static pictures, please take a look at the -animations. **When you watch someone else steering Dasher, +animations. **When you watch someone else steering Dasher, you may find it looks difficult, but be assured: it is actually very easy; it's a lot like driving a car.** ## Quick Tips for Using Dasher @@ -50,7 +50,7 @@ Dasher has many settings you can adjust to make it more comfortable: ## Need More Help? -- Watch the demonstrations to see Dasher in action +- Watch the demonstrations to see Dasher in action - Read the user manual for detailed instructions - Join our Matrix chat to ask questions - Check out the GitHub discussions diff --git a/src/pages/docs/getting-started/index.md b/src/pages/docs/getting-started/index.md index eb33c91..99b6112 100644 --- a/src/pages/docs/getting-started/index.md +++ b/src/pages/docs/getting-started/index.md @@ -31,7 +31,7 @@ Welcome to the Dasher documentation. This section will help you get started with

Demonstrations

See Dasher in action.

@@ -39,7 +39,7 @@ Welcome to the Dasher documentation. This section will help you get started with

Need Help?

Get help from the community.

diff --git a/src/pages/docs/index.astro b/src/pages/docs/index.astro new file mode 100644 index 0000000..7e61766 --- /dev/null +++ b/src/pages/docs/index.astro @@ -0,0 +1,172 @@ +--- +import DocsLayout from '../../layouts/DocsLayout.astro'; +--- + + +
+
+

Documentation

+

Welcome to the Dasher documentation. Search or choose a section below to get started.

+ +
+
+ +
+ +
+
+

🚀 Getting Started

+

New to Dasher? Start here.

+ +
+ +
+

📖 Using Dasher

+

Learn how Dasher works and how to use it effectively.

+ +
+ +
+

⚙️ Customization

+

Personalize Dasher for your needs.

+ +
+ +
+

📚 Reference

+

Lookup and troubleshooting.

+
    +
  • FAQ - Frequently asked questions
  • +
  • Reference - Technical reference
  • +
  • Tutorials - Advanced tutorials
  • +
+
+ +
+

🔬 Research & Development

+

For researchers and developers.

+ +
+ +
+

👥 Community

+

Connect with other users and developers.

+ +
+
+ +
+

Need Help?

+

+ Join our Matrix chat room or check the + FAQ for quick answers. +

+
+
+
+
+ + + + + diff --git a/src/pages/docs/index.md b/src/pages/docs/index.md deleted file mode 100644 index e4fa9ed..0000000 --- a/src/pages/docs/index.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: Documentation - Dasher -description: Dasher documentation index -layout: ../../layouts/DocsLayout.astro ---- - -# Documentation - -Welcome to the Dasher documentation. Choose a section below to get started. - -
-
-

🚀 Getting Started

-

New to Dasher? Start here.

- -
- -
-

📖 Using Dasher

-

Learn how Dasher works and how to use it effectively.

- -
- -
-

⚙️ Customization

-

Personalize Dasher for your needs.

- -
- -
-

📚 Reference

-

Lookup and troubleshooting.

-
    -
  • FAQ - Frequently asked questions
  • -
  • Reference - Technical reference
  • -
  • Tutorials - Advanced tutorials
  • -
-
- -
-

🔬 Research & Development

-

For researchers and developers.

- -
- -
-

👥 Community

-

Connect with other users and developers.

- -
-
- -
-

Need Help?

-

- Join our Matrix chat room or check the - FAQ for quick answers. -

-
diff --git a/src/pages/docs/research/future-directions.md b/src/pages/docs/research/future-directions.md index 87cff93..1725ccc 100644 --- a/src/pages/docs/research/future-directions.md +++ b/src/pages/docs/research/future-directions.md @@ -117,7 +117,7 @@ Dasher welcomes contributions in all these areas. If you're interested in workin - **Research** - Conduct experiments and publish results - **Documentation** - Improve guides and tutorials -See our [community page](/community/) for more ways to contribute. +See our [community page](/about/#community) for more ways to contribute. ## Related Projects @@ -171,5 +171,5 @@ The future of Dasher depends on community involvement. Whether you're a: dasher-core and dasher-gtk on GitHub.

- Join the Community + Join the Community diff --git a/src/pages/docs/special-needs/index.md b/src/pages/docs/special-needs/index.md index c92dea4..8a04bcf 100644 --- a/src/pages/docs/special-needs/index.md +++ b/src/pages/docs/special-needs/index.md @@ -55,7 +55,7 @@ Experienced users reach **30 words per minute**. For a movie demonstrating Dasher with an eye-tracker, see our -demonstrations page. +demonstrations page. ## Frequently Asked Questions @@ -170,6 +170,6 @@ and speech output. Integration is available for both Linux and Windows systems.

Get Started

Ready to try Dasher? Download and install or - watch demonstrations to see Dasher in action. + watch demonstrations to see Dasher in action.

diff --git a/src/pages/docs/tutorials/advanced/index.md b/src/pages/docs/tutorials/advanced/index.md index bd1ac5c..09c1cb7 100644 --- a/src/pages/docs/tutorials/advanced/index.md +++ b/src/pages/docs/tutorials/advanced/index.md @@ -28,7 +28,7 @@ Advanced configuration and customization options for Dasher.

Input Methods

diff --git a/src/pages/docs/tutorials/index.md b/src/pages/docs/tutorials/index.md index c9e099f..213584b 100644 --- a/src/pages/docs/tutorials/index.md +++ b/src/pages/docs/tutorials/index.md @@ -30,7 +30,7 @@ Step-by-step guides to help you get started with Dasher.

Demonstrations

See Dasher in action with videos and animations.

diff --git a/src/pages/index.astro b/src/pages/index.astro index 935e15f..7ef84a3 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -19,16 +19,30 @@ import BaseLayout from '../layouts/BaseLayout.astro';

What is Dasher?

-

- Dasher is a revolutionary text-entry interface that uses a zooming interface where you - navigate toward your target. Unlike traditional keyboards where you hunt for each letter, - Dasher presents letters in a continuous stream where you steer toward what you want to type. -

-

- As you move toward a letter, it expands and other letters appear. By continuously steering - toward your target, you can enter text at speeds competitive with touch typing, using only a - single pointing device. -

+
+
+

+ Dasher is a revolutionary text-entry interface that uses a zooming interface where you + navigate toward your target. Unlike traditional keyboards where you hunt for each letter, + Dasher presents letters in a continuous stream where you steer toward what you want to type. +

+

+ As you move toward a letter, it expands and other letters appear. By continuously steering + toward your target, you can enter text at speeds competitive with touch typing, using only a + single pointing device. +

+
+
+ Animated GIF showing Dasher's zooming text-entry interface in action +

Dasher's zooming interface lets you steer toward letters to type.

+
+
@@ -56,6 +70,28 @@ import BaseLayout from '../layouts/BaseLayout.astro';
+
+

Try It Now

+

Experience Dasher directly in your browser with our web demo.

+
+ +
+

+ If the embed doesn't load, open the demo in a new tab. +

+
+

Quick Start

@@ -71,7 +107,7 @@ import BaseLayout from '../layouts/BaseLayout.astro';

Add Languages

Configure Dasher for your preferred language.

- +

Join the Community

Get help, report bugs, and contribute to Dasher.

diff --git a/src/pages/press.astro b/src/pages/press.astro index 60b302b..b549175 100644 --- a/src/pages/press.astro +++ b/src/pages/press.astro @@ -269,7 +269,7 @@ import BaseLayout from '../layouts/BaseLayout.astro';

Publications

Academic papers and research

- +

Demonstrations

Videos showing Dasher in action

diff --git a/src/pages/search.astro b/src/pages/search.astro deleted file mode 100644 index 7e77f07..0000000 --- a/src/pages/search.astro +++ /dev/null @@ -1,85 +0,0 @@ ---- -import BaseLayout from '../layouts/BaseLayout.astro'; ---- - - -
-
-

Search

-

Search across docs, guides, and site pages.

-
- -
-
-
- - - From 5301e0214446b82cd93344d07428cf1c25b644f3 Mon Sep 17 00:00:00 2001 From: Owen Kent Date: Tue, 24 Feb 2026 21:21:38 -0500 Subject: [PATCH 2/5] Fix Prettier formatting issues --- src/layouts/BaseLayout.astro | 59 ++++++++++++++++++++++++++---------- src/pages/docs/index.astro | 56 ++++++++++++++++++++++++++-------- src/pages/index.astro | 15 +++++---- src/styles/global.css | 6 ++-- 4 files changed, 100 insertions(+), 36 deletions(-) diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro index b926027..38ea84c 100644 --- a/src/layouts/BaseLayout.astro +++ b/src/layouts/BaseLayout.astro @@ -46,11 +46,27 @@ const navItems = [ }
  • @@ -70,11 +86,17 @@ const navItems = [
    @@ -87,7 +109,7 @@ const navItems = [ const html = document.documentElement; const sunIcon = document.getElementById('sun-icon'); const moonIcon = document.getElementById('moon-icon'); - + function updateIcons() { if (html.classList.contains('dark')) { sunIcon.style.display = 'block'; @@ -97,21 +119,24 @@ const navItems = [ moonIcon.style.display = 'block'; } } - + function toggleTheme() { html.classList.toggle('dark'); localStorage.setItem('theme', html.classList.contains('dark') ? 'dark' : 'light'); updateIcons(); } - + // Initialize theme from localStorage or system preference - if (localStorage.getItem('theme') === 'dark' || - (!localStorage.getItem('theme') && window.matchMedia('(prefers-color-scheme: dark)').matches)) { + if ( + localStorage.getItem('theme') === 'dark' || + (!localStorage.getItem('theme') && + window.matchMedia('(prefers-color-scheme: dark)').matches) + ) { html.classList.add('dark'); } - + updateIcons(); - + themeToggle.addEventListener('click', toggleTheme); @@ -129,7 +154,9 @@ const navItems = [ background: color-mix(in srgb, var(--color-bg-primary) 95%, transparent); border-bottom: 1px solid var(--color-border-subtle); backdrop-filter: blur(8px); - transition: background-color 0.3s ease, border-color 0.3s ease; + transition: + background-color 0.3s ease, + border-color 0.3s ease; } html.dark .site-header { diff --git a/src/pages/docs/index.astro b/src/pages/docs/index.astro index 7e61766..d48864e 100644 --- a/src/pages/docs/index.astro +++ b/src/pages/docs/index.astro @@ -6,7 +6,9 @@ import DocsLayout from '../../layouts/DocsLayout.astro';

    Documentation

    -

    Welcome to the Dasher documentation. Search or choose a section below to get started.

    +

    + Welcome to the Dasher documentation. Search or choose a section below to get started. +

    @@ -20,9 +22,15 @@ import DocsLayout from '../../layouts/DocsLayout.astro';

    🚀 Getting Started

    New to Dasher? Start here.

    @@ -31,10 +39,17 @@ import DocsLayout from '../../layouts/DocsLayout.astro';

    📖 Using Dasher

    Learn how Dasher works and how to use it effectively.

    @@ -43,8 +58,12 @@ import DocsLayout from '../../layouts/DocsLayout.astro';

    Personalize Dasher for your needs.

    @@ -64,7 +83,9 @@ import DocsLayout from '../../layouts/DocsLayout.astro';

    For researchers and developers.

    From c8bbdb289d135e590f7c43d084a1626856729b29 Mon Sep 17 00:00:00 2001 From: will wade Date: Wed, 25 Feb 2026 06:37:24 +0000 Subject: [PATCH 4/5] tried to reduce some bits on home page - and style the gif in place - and then the /how-dasher-works/ gifs looking neater within the text. --- .../docs/concepts/how-dasher-works/index.md | 24 ++++--- src/pages/index.astro | 65 ++++++++---------- src/styles/pages.css | 66 ++++++++++++++++++- 3 files changed, 102 insertions(+), 53 deletions(-) diff --git a/src/pages/docs/concepts/how-dasher-works/index.md b/src/pages/docs/concepts/how-dasher-works/index.md index 3d3dd63..f0e5446 100644 --- a/src/pages/docs/concepts/how-dasher-works/index.md +++ b/src/pages/docs/concepts/how-dasher-works/index.md @@ -41,23 +41,21 @@ First, they walk into the "a" section of the library. There, they are confronted "aa", "ab", "ac.... az" [Picture (ii)].
    -
    - (ii) - Dasher showing letter regions while writing 'hello' -

    Looking more closely at a specific region

    +
    +
    + (ii) + Dasher showing letter regions while writing 'hello' +

    Looking more closely at a specific region

    +
    +
    + (iii) + Higher-resolution Dasher screenshot showing probable next letters +

    Zooming further into the most likely continuations

    +
    - Looking more closely at the "al" section, they can find books starting "ala", "alb"... "alz" [Picture (iii)]. -
    -
    - (iii) - Higher-resolution Dasher screenshot showing probable next letters -

    Zooming further into the most likely continuations

    -
    -
    - By looking ever more closely at the shelf, the writer can find the book containing the text he wishes to write. Thus writing can be described as **zooming in on an alphabetical library, steering as you go**. diff --git a/src/pages/index.astro b/src/pages/index.astro index a4a4aff..a2eefc7 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -20,6 +20,18 @@ import BaseLayout from '../layouts/BaseLayout.astro';

    What is Dasher?

    +
    + Animated GIF showing Dasher's zooming text-entry interface in action +
    + Dasher's zooming interface lets you steer toward letters to type. +
    +

    Dasher is a revolutionary text-entry interface that uses a zooming interface where you @@ -32,50 +44,25 @@ import BaseLayout from '../layouts/BaseLayout.astro'; steering toward your target, you can enter text at speeds competitive with touch typing, using only a single pointing device.

    -
    -
    - Animated GIF showing Dasher's zooming text-entry interface in action -

    - Dasher's zooming interface lets you steer toward letters to type. -

    +
      +
    • Works with mouse, touch, eye-tracking, head-tracking, and other pointing devices.
    • +
    • Supports 60+ languages with customizable alphabet files.
    • +
    • Uses language-model prediction so likely text is easier and faster to reach.
    • +
    • Free and open-source software licensed under GPL-3.0.
    • +
    -

    Key Features

    -
    -
    -

    Accessible

    -

    - Works with any continuous pointing device: mouse, touchscreen, eye-tracking, - head-tracking, and more. -

    -
    -
    -

    Multilingual

    -

    Support for over 60 languages through customizable alphabet files.

    -
    -
    -

    Efficient

    -

    Information-theoretic optimal text entry using language models for prediction.

    -
    -
    -

    Open Source

    -

    Free and open-source software licensed under GPL-3.0.

    -
    -
    -
    - -
    -

    Try It Now

    -

    Experience Dasher directly in your browser with our web demo.

    +

    Try It Now (Preview)

    +

    + You can try Dasher in your browser, but this web demo is currently incomplete and may be + buggy. +

    +

    + For the full and more stable experience, use the desktop version of Dasher. +

    +
    +
    +

    Eye-Tracking Demo (Nov 2001)

    Classic eye-tracking demonstration from the original project videos.