Comments (2)
I've never used Textile; it appears to similar to markdown but with an incompatible syntax. How do you envision adding it?
After a quick scan of the Wikipedia article, it appears that the parsing functions would mostly be different due to differing syntax, so there may not be a ton of room for code sharing, but most of the rendering backend(s) could be pretty much the same. We could end up with an API where you select your backend and your parser:
// for either
renderer := blackfriday.HtmlRenderer(html_flags)
// for markdown
output := blackfriday.Markdown(input, renderer, markdown_options)
// for textile
output := blackfriday.Textile(input, renderer, textile_options)
Is that similar to what you had in mind?
I'd love to collaborate on it with you; as you pointed out, there isn't much use in duplicating effort. I'm currently focusing on writing some unit tests, cleaning up (and in some cases rewriting) the most confusing parts, and optimizing. If you'd like to start working on Textile support, I'd be happy to merge it and make it even more useful for people.
from blackfriday.
Yes, that's pretty much is my thinking: a completely new parser, but using similar structure and techniques as markdown parser, and sharing render(s).
from blackfriday.
Related Issues (20)
- Panic on listItem function HOT 1
- List after paragraph not rendenring HOT 1
- Is it possible to not wrap <div> inside <a> in <p>
- `AutoLink` becomes turned off when running with `HardLineBreak` ext
- How to support some UML plug-ins? For example: mermaid
- parse bitcoin uri's as links HOT 2
- List convert error HOT 1
- index out of range panic in v2.scanLinkRef (line 659 in markdown.go file)
- index out of range panic in v2.listItem (line 1369 in block.go file)
- code blocks break line has been deleted
- Buggy, fragile list behavior
- Column alignement in tables?
- What flags to (un)set if i want no header tags?
- Is v2 OK with Go 1.17?
- enclosed parentheses in markdown links not rendered properly in html
- Support single dash table define
- Is this repository dead? HOT 1
- Code blocks not parsed correctly
- Empty data while parsing markdown
- panic: block input is missing terminating newline
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from blackfriday.