Comments (4)
This sounds like some specific use case which might not be useful for everyone and for which I still have no clear understanding. People might have different ideas how to split a document in blocks.
Currently there is baseElements
set of options.
You can specify baseElements.selectors
array for all things you consider blocks (in your definition) and want to process.
All results will be merged into single output string though. I might think about a way to output results for each base element separately, but I need a real-world example where it might be useful.
There are multiple hacky solutions that might be done currently to separate outputs for base elements. But running a separate parser to get your block first would be more clean and robust solution for now.
from node-html-to-text.
Yes, an example of a use case would be to extract a table from a website, as I don't know the site beforehand, it would be useful for me to know which part of the text is the actual table, but I do agree that this might actually be better to do using a html parser and then pass the output to node-html-to-text. Thanks for confirming it!
from node-html-to-text.
If you can define a CSS selector for a table - you can extract it with already available options.
If you need to extract multiple tables separately from one page - that might be tricky now.
If you need to extract a table that is used for data, not layout, but you can't provide a selector and want to use some heuristic - such heuristic can be implemented with a custom formatter, but it is not great for extraction purposes.
from node-html-to-text.
Yes, to be honest this library is so great at doing what it does that I wouldn't want it to actually solve this problem. It's perfect as it is, you give html as input and it gives text as output.
From the HTML you should anyways be able to know if it's a table or now, so no need to pollute this great library with a function very few people will need.
from node-html-to-text.
Related Issues (20)
- converting html fails HOT 2
- To ignore everything in footer HOT 4
- Encoding issue HOT 1
- Scraper options selector skip doesnt work HOT 2
- h1 and P are conflicting HOT 2
- how to convert url to markdown ? HOT 5
- tableToString(rows, formatOptions.rowSpacing ?? 0, formatOptions.colSpacing ?? 3), Unexpected token '?' HOT 2
- Is there a way to not parse images? HOT 1
- ul tag without text wrap HOT 2
- I can't use unorderedListItemPrefix for orderedList HOT 2
- Named export 'render' not found HOT 4
- How do you decode & convert in one pass? HOT 3
- TypeError: htmlToText.fromString is not a function HOT 5
- Cannot remove newlines between tags even with options HOT 1
- add typescript and support esm HOT 2
- Issue with selector: "*" HOT 2
- Convert a table into a markdown compatible table HOT 7
- Maximum call stack size exceeded RangeError: Maximum call stack size exceeded HOT 1
- Convert is not a function error HOT 2
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 node-html-to-text.