[GH-ISSUE #7032] [FR] A markup language for appflowy #3108

Open
opened 2026-03-23 21:27:40 +00:00 by mirror · 9 comments
Owner

Originally created by @arromattic on GitHub (Dec 22, 2024).
Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/7032

Description

Currently appflowy has two export option markdown and html .
Markdown has no widely accepted standard example .
Appflowy also has features that like gallery that none of the flavor's of markdown cover . Exporting as regular markdown is destructive . And for html it's not convenient either .

Suggestion 1 : Allow to export as Wikitext/mediawiki markup

https://en.wikipedia.org/wiki/Help:Wikitext

Wikitext has way more formatting than markdown and can allow users to move or edit their note content in other apps and even in wikipedia (mediawiki)

Suggestion 2 : A custom markup language for appflowy

If it is not possible to implement export/import as wikitext a modified markdown can be created for appflowy .

Impact

  1. Users can export data without losing formatting and blocks like Gallery , Image size , custom table width etc
  2. Easy to import/export data
  3. Easy to convert into other file formats using pandoc

Additional Context

Pandoc support if custom markup is implemented.

Originally created by @arromattic on GitHub (Dec 22, 2024). Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/7032 ### Description Currently appflowy has two export option markdown and html . Markdown has no widely accepted standard [example](https://gist.github.com/vimtaai/99f8c89e7d3d02a362117284684baa0f) . Appflowy also has features that like gallery that none of the flavor's of markdown cover . Exporting as regular markdown is destructive . And for html it's not convenient either . ### Suggestion 1 : Allow to export as Wikitext/mediawiki markup https://en.wikipedia.org/wiki/Help:Wikitext Wikitext has way more formatting than markdown and can allow users to move or edit their note content in other apps and even in wikipedia (mediawiki) ### Suggestion 2 : A custom markup language for appflowy If it is not possible to implement export/import as wikitext a modified markdown can be created for appflowy . ### Impact 1. Users can export data without losing formatting and blocks like Gallery , Image size , custom table width etc 2. Easy to import/export data 3. Easy to convert into other file formats using pandoc ### Additional Context Pandoc support if custom markup is implemented.
Author
Owner

@LucasXu0 commented on GitHub (Dec 23, 2024):

@arromattic We have a JSON export mode in the experimental env, which include all document formats, such as image galleries, table widths, and more.

Here’s a sample. Does it meet your expectations?
Simple_Table_V2.1.json

<!-- gh-comment-id:2558762853 --> @LucasXu0 commented on GitHub (Dec 23, 2024): @arromattic We have a JSON export mode in the experimental env, which include all document formats, such as image galleries, table widths, and more. Here’s a sample. Does it meet your expectations? [Simple_Table_V2.1.json](https://github.com/user-attachments/files/18224291/Simple_Table_V2.1.json)
Author
Owner

@casainho commented on GitHub (Dec 25, 2024):

Please no Markdown!! I came from Joplin that is good app, although Markdown makes is a junk, like tables are really basic and I think is due to limitations on Markdown.

<!-- gh-comment-id:2561833317 --> @casainho commented on GitHub (Dec 25, 2024): Please no Markdown!! I came from Joplin that is good app, although Markdown makes is a junk, like tables are really basic and I think is due to limitations on Markdown.
Author
Owner

@arromattic commented on GitHub (Dec 26, 2024):

The json format is a significant improvement over plain markdown . But is rather difficult for average user to read/edit manually like wikitext . Are all the syntaxes will be specified ? like color , mathblock , italic etc . If yes i think that's most likely enough for now as users don't have to worry about missing formattings when exporting/importing .

I do think a new file format should be created and the syntaxes should be specified instead of generic json so users can easily identify it and easily convert into other format using a script or pandoc (assuming someone adds it).

  1. Is it possible to import the json to appflowy ?
  2. Does the json export only covers table like how notion has separate file for table and markdown for notes or includes everything in a page ?
<!-- gh-comment-id:2562839436 --> @arromattic commented on GitHub (Dec 26, 2024): The json format is a significant improvement over plain markdown . But is rather difficult for average user to read/edit manually like wikitext . Are all the syntaxes will be specified ? like color , mathblock , italic etc . If yes i think that's most likely enough for now as users don't have to worry about missing formattings when exporting/importing . I do think a new file format should be created and the syntaxes should be specified instead of generic json so users can easily identify it and easily convert into other format using a script or pandoc (assuming someone adds it). 1. Is it possible to import the json to appflowy ? 2. Does the json export only covers table like how notion has separate file for table and markdown for notes or includes everything in a page ?
Author
Owner

@arromattic commented on GitHub (Dec 26, 2024):

Please no Markdown!! I came from Joplin that is good app, although Markdown makes is a junk, like tables are really basic and I think is due to limitations on Markdown.

I am also a user of joplin and joplins markdown export is what made me create this issue .

In joplin there are a few markdown export problems :

  1. You can adjust image size on the note but on export markdown doesn't support image size
  2. You can download various plug-ins to extend the markdown but once you export , you have no idea of what you used to use .
<!-- gh-comment-id:2562934434 --> @arromattic commented on GitHub (Dec 26, 2024): > Please no Markdown!! I came from Joplin that is good app, although Markdown makes is a junk, like tables are really basic and I think is due to limitations on Markdown. I am also a user of joplin and joplins markdown export is what made me create this issue . In joplin there are a few markdown export problems : 1. You can adjust image size on the note but on export markdown doesn't support image size 2. You can download various plug-ins to extend the markdown but once you export , you have no idea of what you used to use .
Author
Owner

@casainho commented on GitHub (Dec 29, 2024):

@arromattic , I agree that is very important to be able to easily export and import the full data for backup reasons and in a way that is easy to process.
On Joplin, I usually export to their JEX file and import if needed (usually when updating to new server or PC app versions).

What I mainly miss from Joplin, is to have the full files locally, so if I am offline I always have the data AS also, is very fast to open the files and even edit the files and knowing they will be updated on the note!!

<!-- gh-comment-id:2564684617 --> @casainho commented on GitHub (Dec 29, 2024): @arromattic , I agree that is very important to be able to easily export and import the full data for backup reasons and in a way that is easy to process. On Joplin, I usually export to their JEX file and import if needed (usually when updating to new server or PC app versions). What I mainly miss from Joplin, is to have the full files locally, so if I am offline I always have the data AS also, is very fast to open the files and even edit the files and knowing they will be updated on the note!!
Author
Owner

@LucasXu0 commented on GitHub (Dec 31, 2024):

Is it possible to import the json to appflowy ?

If we support exporting JSON, then the import functionality should also be supported.

Does the json export only covers table like how notion has separate file for table and markdown for notes or includes everything in a page ?

The JSON export will include everything on a page. By 'table,' do you mean the table block or the database block?

<!-- gh-comment-id:2566314382 --> @LucasXu0 commented on GitHub (Dec 31, 2024): > Is it possible to import the json to appflowy ? If we support exporting JSON, then the import functionality should also be supported. > Does the json export only covers table like how notion has separate file for table and markdown for notes or includes everything in a page ? The JSON export will include everything on a page. By 'table,' do you mean the table block or the database block?
Author
Owner

@arromattic commented on GitHub (Jan 6, 2025):

The JSON export will include everything on a page. By 'table,' do you mean the table block or the database block?

The database block .

<!-- gh-comment-id:2573956259 --> @arromattic commented on GitHub (Jan 6, 2025): > The JSON export will include everything on a page. By 'table,' do you mean the table block or the database block? The database block .
Author
Owner

@rsenna commented on GitHub (Jan 13, 2025):

Hey! I’m completely new to AppFlowy — just found out about it through a news article — but I’m already super impressed by the UX and codebase. Even though I’m new to this app, I’m a seasoned dev and a “hardcore” Obsidian user, so I thought I’d share my 2 cents on the proposals here:

  • Wikitext: Big thumbs up from me! 😅
  • Markdown: While not “standardised” (plenty of flavours out there), it’s the standard in the Second Brain and Personal Knowledge Management world. So honestly, I think strong, advanced Markdown options for import/export are a must.

For example, you could use Frontmatter to add custom metadata to a document. With that metadata, you could define styling, block positions, or other properties. Even if how AppFlowy uses the metadata isn’t “standard,” the document would still be valid Markdown, making it easy to interface with other tools.

Going down a “custom file format” route feels like it would clash with the Open-Source (and Open Standards) ethos this project seems to embrace.

Just my two cents! Keep up the awesome work! 👏

<!-- gh-comment-id:2586703826 --> @rsenna commented on GitHub (Jan 13, 2025): Hey! I’m completely new to AppFlowy — just found out about it through a news article — but I’m already super impressed by the UX and codebase. Even though I’m new to this app, I’m a seasoned dev and a “hardcore” Obsidian user, so I thought I’d share my 2 cents on the proposals here: - Wikitext: Big thumbs up from me! 😅 - Markdown: While not “standardised” (plenty of flavours out there), it’s the standard in the [Second Brain](https://fortelabs.com/blog/basboverview/) and [Personal Knowledge Management](https://www.wikiwand.com/en/articles/Personal_knowledge_management) world. So honestly, I think strong, advanced Markdown options for import/export are a **must**. For example, you could use [Frontmatter](https://www.markdowntoolbox.com/blog/common-front-matter/) to add custom metadata to a document. With that metadata, you could define styling, block positions, or other properties. Even if how AppFlowy uses the metadata isn’t “standard,” the document would still be valid Markdown, making it easy to interface with other tools. Going down a “custom file format” route feels like it would clash with the Open-Source (and Open Standards) ethos this project seems to embrace. Just my two cents! Keep up the awesome work! 👏
Author
Owner

@Matt2012 commented on GitHub (Feb 5, 2026):

This is the AI age not giving frontmatter markdown support first class support would be crazy for use cases you can only start to imagine.

That doesn't mean limiting the interface to markdown. Perfectly acceptable to lose some fidelity as long as page meta data and readable text is contained in the markdown.

<!-- gh-comment-id:3853958510 --> @Matt2012 commented on GitHub (Feb 5, 2026): This is the AI age not giving frontmatter markdown support first class support would be crazy for use cases you can only start to imagine. That doesn't mean limiting the interface to markdown. Perfectly acceptable to lose some fidelity as long as page meta data and readable text is contained in the markdown.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#3108
No description provided.