Comments (3)
Hi sanzoghenzo, I don't think that's a standard for code blocks.
In the custom rule, you can get the parents or maybe any elements you want, by using the dom api.
For example(may not work): node.asElement()?.parent?.parent?.classes;
from html2md.
Thanks @jarontai, your example missed a parent
, but it was very helpful!
I've turned it into a generic "walker" of all the parents, I'll leave it here for posterity:
String getLanguage(node) {
var regex = RegExp(r'language-(\S+)');
var className = node.firstChild!.className;
var languageMatched = regex.firstMatch(className)?.group(1);
if (languageMatched != null) {
return languageMatched;
}
var nodeElement = node.asElement();
while (nodeElement.parent != null) {
nodeElement = nodeElement.parent;
for (var className in nodeElement.classes) {
languageMatched = regex.firstMatch(className)?.group(1);
if (languageMatched != null) {
return languageMatched;
}
}
}
return '';
}
from html2md.
I tried with a custom rule, and replacing the incriminated line with childNodes().map((e) => e.textContent).join()
renders all the code.
I'm not sure how to solve the language identification, that info appears two div
s up instead of in the first children. I don't know if it a standard of some kind or a particular case of this website (it uses jekyll and a bootstrap theme).
from html2md.
Related Issues (20)
- output has \- or \* instead of - or * HOT 5
- Titles in links don't convert properly HOT 1
- Custom Text Size HOT 3
- Redirect on link click
- Table support for loose html HOT 3
- blockquote text style not applying HOT 1
- 能否增加一个Markdown转html的功能呢? HOT 1
- Ignore Markdown on String HOT 3
- Error result if <br> tag is contained HOT 1
- [proposal] `convert` accept `dom.Node` parameter HOT 7
- Issue with special characters HOT 4
- Multiple style tag html HOT 1
- 可以将公众号文章网页parse成markdown吗 HOT 1
- text-align did not convert HOT 1
- Warning when compiling into native code (dart compile exe)
- <pre> element not converted to Markdown code HOT 5
- Links for TOC - Spaces are replaced with _ insted of - HOT 4
- Warnings printed during the usage of html2md HOT 2
- Converting an <img> to md style HOT 1
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 html2md.