cookwherever
readability
Our great sponsors
cookwherever | readability | |
---|---|---|
4 | 51 | |
13 | 8,056 | |
- | 7.4% | |
0.0 | 6.3 | |
25 days ago | 7 days ago | |
JavaScript | JavaScript | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cookwherever
-
Ask HN: Those making $0/month or less on side projects – Show and tell
Cook Wherever: https://cookwherever.com/
Cooking is hard. I want to cook more but I am usually too hungry to focus. I am building a site to help you with all stages of cooking, not just showing you ingredients and directions.
I have also realized the knowledge I have amassed for the “why” of cooking helps me cook without needing recipes mostly. I use ML/NLP to extract entities from ingredients and directions so contextual information can be provided to someone who is curious (ex. “you preheat your oven because …”)
I really like content creators, but following videos while cooking is a no-go for my attention span. I’m working on it, but directions will work as time stamps into a video for a recipe.
[1] https://github.com/cookwherever/cookwherever
-
Show HN: Parsnip – “Duolingo for Cooking”
TL;DR ive been consolidating my cooking knowledge in an open source recipe site https://github.com/cookwherever/cookwherever
Hey! I am excited to see people developing in this space since this is where my head is also at. Up until two years ago I was eating canned chili and soylent before I was shown the light with The Food Lab and Salt, Fat, Acid and Heat. Ever since I have been trying to share my knowledge on cooking with others with varying levels of success.
What has become clear to me is that there is no one size fits all approach to teaching cooking since it is usually a very cultural experience for most people (as many in the comments have pointed out). That said, SFAH makes the argument that most cuisines are much closer than people think when you consider the functional properties of the ingredients that you are cooking. Pizza is just pasta with yeast *Italian grandmothers slowly turn their heads towards this atrocity*
All of this to say, I believe recipes are critical to jump start the creative process of cooking. When any type of possible failure on the path to completion is experienced (ex. missing ingredient, burnt cookies, etc.) there MUST be some way of recovering or at the very least understanding how that happened.
I have been slowing taking notes on all the cooking knowledge I have come across and have been putting it along side the recipes that inspire me. Forcing learning on someone in the kitchen, who is already probably pretty hungry if cooking is seen as a chore, is not productive. Sharing the joy you get from the art that is cooking is IMPERATIVE for any type of educational resource.
If you are interested in my progress, or want to contribute go check it out! https://github.com/cookwherever/cookwherever
-
I Regret my $46k Website Redesign
completely unrelated to your post, but just wanted to say thanks for your work on the rebooting of nyt’s ingredient parser. I use it in my project here: https://github.com/cookwherever/cookwherever (site is currently down due to the server being physically moved from our house lol). If you are interested in talking more about how i’m using it I would love to share :)
readability
- Mozilla: Readability.js
-
CSS for readability
I'm working with the Mozilla's readability library https://github.com/mozilla/readability to get the "readable" text from articles and now I want to style the extracted text in a readable way.
-
Building a Serverless Reader View with Lambda and Chrome
Do you remember the Firefox Reader View? It's a feature that removes all unnecessary components like buttons, menus, images, and so on, from a website, focusing on the readable content of the page. The library powering this feature is called Readability.js, which is open source.
-
Webrecorder: Capture interactive websites and replay them at a later time
I wonder if Firefox "reader mode as a utility" might be a viable alternative for Pinboard like "content oriented" archiving?
https://github.com/mozilla/readability
-
Creating an advanced search engine with PostgreSQL
Depending upon the type of content, one might want to look into using the Readability (Browder's reader view) to parse the webpage. It will give you all the useful info without the junk. Then you can put it in the DB as needed.
https://github.com/mozilla/readability
Btw, readability, is also available in few other languages like Kotlin:
https://github.com/dankito/Readability4J
-
Seeking a tool or method to convert webpages into Q&A format using NLP
Use Mozilla's Readability to extract that sweet, sweet text content from webpages.
-
I built a free prompt managing tool - Knit
Same as above but the ability to grab the entire article text (you can use the Readability library for that: https://github.com/mozilla/readability)
-
I need automatic source URLs when I paste any text onto a card or note, like on OneNote.
// Original script // https://gist.github.com/kepano/90c05f162c37cf730abb8ff027987ca3 // Bookmarklet Converter // https://caiorss.github.io/bookmarklet-maker/ // Libraries // https://github.com/mixmark-io/turndown // https://github.com/mozilla/readability javascript: Promise.all([import('https://unpkg.com/[email protected]?module'), import('https://unpkg.com/@tehshrike/[email protected]'), ]).then(async ([{ default: Turndown }, { default: Readability }]) => { /* Optional vault name */ const vault = ""; /* Optional folder name such as "Clippings/" */ const folder = "Clippings/"; /* Optional tags */ const tags = ""; function getSelectionHtml() { var html = ""; if (typeof window.getSelection != "undefined") { var sel = window.getSelection(); if (sel.rangeCount) { var container = document.createElement("div"); for (var i = 0, len = sel.rangeCount; i < len; ++i) { container.appendChild(sel.getRangeAt(i).cloneContents()); } html = container.innerHTML; } } else if (typeof document.selection != "undefined") { if (document.selection.type == "Text") { html = document.selection.createRange().htmlText; } } return html; } const selection = getSelectionHtml(); const { title, byline, content } = new Readability(document.cloneNode(true)).parse(); function getFileName(fileName) { var userAgent = window.navigator.userAgent, platform = window.navigator.platform, windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE']; if (windowsPlatforms.indexOf(platform) !== -1) { fileName = fileName.replace(':', '').replace(/[/\\?%*|"<>]/g, '-'); } else { fileName = fileName.replace(':', '').replace(/\//g, '-').replace(/\\/g, '-'); } return fileName; } const fileName = getFileName(title); if (selection) { var markdownify = selection; } else { var markdownify = content; } if (vault) { var vaultName = '&vault=' + encodeURIComponent(`${vault}`); } else { var vaultName = ''; } const markdownBody = new Turndown({ headingStyle: 'atx', hr: '---', bulletListMarker: '-', codeBlockStyle: 'fenced', emDelimiter: '*', }).turndown(markdownify); var date = new Date(); function convertDate(date) { var yyyy = date.getFullYear().toString(); var mm = (date.getMonth()+1).toString(); var dd = date.getDate().toString(); var mmChars = mm.split(''); var ddChars = dd.split(''); return yyyy + '-' + (mmChars[1]?mm:"0"+mmChars[0]) + '-' + (ddChars[1]?dd:"0"+ddChars[0]); } const today = convertDate(date); // This is the output template // It is similar to an Obsidian core template // except to insert a value we use: ${value} instead of {{value}} const fileContent =`--- type: clipping date_added: ${today} aliases: [] tags: [${tags}] --- author:: ${byline.toString().split('\n')[0].trim()} source:: [${title}](${document.URL}) ${markdownBody} `; // This copies your text to the clipboard navigator.clipboard.writeText(fileContent); // This creates a new document in Obsidian containing your clipping // I commented it out as this isn't what you asked for /* document.location.href = "obsidian://new?" + "file=" + encodeURIComponent(folder + fileName) + "&content=" + encodeURIComponent(fileContent) + vaultName; */ })
- Any js packages to only scrape relevant content from a webpage?
-
RSS meets GPT-3
So first part of the task is to "extract the text from URL", and that is achieved by using descendant of https://github.com/mozilla/readability library which can extract text of any URL.
What are some alternatives?
roqr - QR codes that will rock your world
parser - 📜 Extract meaningful content from the chaos of a web page
ArchiSteamFarm - C# application with primary purpose of farming Steam cards from multiple accounts simultaneously.
koreader - An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices
atomic - Chat with and teach your calendar to solve your scheduling & time problems
hn-search - Hacker News Search
library - 70+ CLI tools to build, browse, and blend your media library. An index for your archive.
readability.php - PHP port of Mozilla's Readability.js
Whisper - High-performance GPGPU inference of OpenAI's Whisper automatic speech recognition (ASR) model
rssguard - Feed reader (and podcast player) which supports RSS/ATOM/JSON and many web-based feed services.
wttr.in - :partly_sunny: The right way to check the weather
SponsorBlock - Skip YouTube video sponsors (browser extension)