3 ポイント 投稿者 GN⁺ 2025-03-16 | 2件のコメント | WhatsAppで共有
  • Nashは独立したHTML形式のノートで、追加のソフトウェアやサービスを必要としない。
  • Webブラウザさえあれば利用でき、オフラインでも保存・編集できる。
  • 着想
    • 単一のHTMLでシンプルなアイデアをPOC(Proof of Concept)する機能を実装していたところ、別のサービスやソフトウェアなしで動作するドキュメントファイルを作れることに気づいた。
    • NotionやWordのようなソフトウェアがなくても動作するドキュメントファイルを作ろうとする最初の試みである。
  • 空のノートを入手
    • 空のページへ移動するには、次のリンクからアクセスできる: Nash 空のページ
  • Nashはオープンソースで、自由に修正して利用できる。

2件のコメント

 
xguru 2025-03-16

Nash、単一のHTMLで動作するノート

Show GNに投稿されていたものをHacker Newsにも投稿されたのですが、たくさん投票を集めましたね。おめでとうございます!

 
GN⁺ 2025-03-16
Hacker Newsのコメント
  • このプロジェクトはとても気に入ったし、ソースコードを見て、バニラJSで書かれているのが素晴らしいと思った。最近では、ライブラリやフレームワークなしでどれだけ多くのインタラクティブなWebアプリを作れるかが過小評価されている
    • 私も、単一のHTMLページでシンプルなローカルWebアプリを作るというアイデアが本当に好き。少し前に子どもと科学博物館を訪れて、簡単なストップモーションアニメーターを使ってみた。それのようなWebアプリを作ろうと決めて、単一のHTMLページとして作成し、子どものノートPCにコピーしてインターネットなしで使えるようにした。私はバニラJSを書くのが面倒だったのでReactとバンドラーを使った。それは単一のHTMLファイルにバンドルされた。いつかShow HNに投稿するかもしれない
  • このシンプルだが強力な属性が、多くの重い仕事を担っている。驚くべきことに、多くの開発者はこの属性をよく知らないようだ。かなり昔から存在している
    • <div id="editor" contenteditable="true">
  • 素晴らしい仕事
    • ページがローカルディスクからブラウザで開かれたときは自動的に編集モードで開き、誰かのWebサイトに公開されてオープンなWebからアクセスされるときは通常の読み取り専用ビューに切り替えることを検討してほしい(アドレスがhttp/httpsか確認する)
    • もちろん:
      1. これを無視できる方法があるべき(クエリ文字列パラメータや特別なURLフラグメントなど)。そうすれば編集モードでも表示できる
      2. 特定のドメイン/URLプレフィックスに対する例外があるべき—基本的には keepworking.github.io(または https://keepworking.github.io/nash/ )—そうすればそのサイトでも編集モードが有効になる。これは個人的には、デモを動かすために特別なことをする必要がないことを意味する(この例外はユーザーが変更可能であるべき。そうすれば他の人も #1 の裏技を使わずに同じ挙動を得られる)
  • これはクールだ。私たちは(あるいはたぶん私だけかもしれないが)、WebサイトのJS部分を実際のHTMLの外で書くことに慣れているので、これを見て「うわ、これが単なるHTMLだけで可能だなんてすごい」と思った。そしてソースを見て、すべてのJSが昔ながらのscriptタグの中にあるのを見て、それが可能なことだったと改めて思い出した
  • 「本物の」保存機能を使えば、これを自己完結的で本当にポータブルなものにできる https://rpdillon.net/redbean-tiddlywiki-saver.html
  • ブラウザがローカルWebアプリをもっとよくサポートしてくれたらいいのに。ローカルファイルが永続ストレージに簡単にアクセスできるなら、高速で手軽なGUIアプリの多くの可能性が開ける。基本的にはElectronの逆だ
  • よくやった!以前にTiddlyWikiに触れながらこのアイデアを議論したことがあった https://news.ycombinator.com/item?id=43179649
  • これを「ノート」と呼ぶのは少し紛らわしい。私はこれを自己改変可能な編集可能シングルファイルWebアプリと呼ぶだろう
  • 提案: 編集後に保存せずページを閉じようとしたときは警告すべき。onbeforeunload ハンドラを追加することを検討してほしい
  • 最近、TiddlyWikiでローカルWikiを書こうとしたが見事に失敗して、結局HTMLファイルを直接書くことになった
    • Nashは私の作業を単純化してくれそうだ、ありがとう
  • 簡単な目次のためにこれを追加 https://codepen.io/cgurski/pen/qBrNrPo