Skip to content

Demo of ProseMirror WYSIWYG editor#8990

Closed
linonetwo wants to merge 89 commits into
TiddlyWiki:masterfrom
linonetwo:feat/prosemirror-wysiwyg-editor
Closed

Demo of ProseMirror WYSIWYG editor#8990
linonetwo wants to merge 89 commits into
TiddlyWiki:masterfrom
linonetwo:feat/prosemirror-wysiwyg-editor

Conversation

@linonetwo

@linonetwo linonetwo commented Mar 23, 2025

Copy link
Copy Markdown
Contributor

Don't know why, but I can't trigger netlify site rebuild. So I create a new PR to trigger it #8991

linonetwo added 30 commits June 13, 2024 01:23
Deekseek is silly
@github-actions

Copy link
Copy Markdown

Confirmed: linonetwo has already signed the Contributor License Agreement (see contributing.md)

@netlify

netlify Bot commented Mar 23, 2025

Copy link
Copy Markdown

Deploy Preview for tiddlywiki-previews failed.

Name Link
🔨 Latest commit bb75500
🔍 Latest deploy log https://app.netlify.com/sites/tiddlywiki-previews/deploys/67e01ab8d75a2f0008ab12cb

@linonetwo

Copy link
Copy Markdown
Contributor Author

Crawl all prosemirror as dependencies using this JS, and download https://cdn.jsdelivr.net/npm/prosemirror-view@latest/style/prosemirror.css and https://cdn.jsdelivr.net/npm/prosemirror-menu@latest/style/menu.css manually.

const fs = require('fs');
const path = require('path');

const dependencies = [
  'prosemirror-state',
  'prosemirror-view',
  'prosemirror-model',
  'prosemirror-schema-basic',
  'prosemirror-schema-list',
  'prosemirror-example-setup',
  'orderedmap',
  'prosemirror-transform',
  'prosemirror-keymap',
  'prosemirror-history',
  'prosemirror-commands',
  'prosemirror-dropcursor',
  'prosemirror-gapcursor',
  'prosemirror-menu',
  'prosemirror-inputrules',
  'w3c-keyname',
  'crelt',
  'rope-sequence',
];

async function getVersionAndDownload(dep) {
  try {
    const response = await fetch(`https://registry.npmjs.org/${dep}/latest`);
    const data = await response.json();
    const version = data.version;
    // const url = `https://cdn.jsdelivr.net/npm/${dep}@${version}/dist/index.cjs`;
    const url = `https://cdn.jsdelivr.net/npm/${dep}@${version}`;
    console.log(`Downloading ${dep}@${version} from ${url}`);
    const fileResponse = await fetch(url);
    const reader = fileResponse.body.getReader();
    const writer = fs.createWriteStream(path.resolve(__dirname, 'plugins/tiddlywiki/prosemirror/files', `${dep}.cjs`));
    const stream = new ReadableStream({
      async start(controller) {
        while (true) {
          const { done, value } = await reader.read();
          if (done) break;
          controller.enqueue(value);
        }
        controller.close();
      }
    });
    const responseStream = stream.pipeTo(new WritableStream({
      write(chunk) {
        writer.write(chunk);
      },
      close() {
        writer.end();
      }
    }));
    await responseStream;
  } catch (error) {
    console.error(`Failed to download ${dep}:`, error);
  }
}

async function main() {
  for (const dep of dependencies) {
    await getVersionAndDownload(dep);
  }
  console.log('All files downloaded and renamed successfully.');
}

main();

place it on tiddlywiki repo's root as crawlAndRename.js then node crawlAndRename.js with node 22+

@linonetwo linonetwo changed the title Feat/prosemirror wysiwyg editor Demo of ProseMirror WYSIWYG editor Mar 23, 2025
@linonetwo
linonetwo force-pushed the feat/prosemirror-wysiwyg-editor branch from bb75500 to b5d527d Compare March 23, 2025 14:35
@linonetwo
linonetwo marked this pull request as ready for review March 23, 2025 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant