to-markdown
moment
Our great sponsors
to-markdown | moment | |
---|---|---|
4 | 95 | |
7,753 | 47,757 | |
2.0% | 0.1% | |
3.2 | 7.4 | |
10 days ago | 8 days ago | |
HTML | JavaScript | |
MIT License | MIT License |
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.
to-markdown
-
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; */ })
- Content Parser – Extract Markdown, HTML or text from content-heavy websites
-
Do you trust the Obsidian company?
turndown [MIT] https://mixmark-io.github.io/turndown/
moment
-
The 20 most used React libraries
moment: Handles date and time manipulations with ease. Learn more
-
👨🚀 Traversing Time with Intl.RelativeTimeFormat()
For the longest time working with dates in JavaScript was a huge pain. That’s why libraries such as moment.js or date-fns are so popular. A lot of times I’d reach for these libraries when working with relative time formatting, but since late last year we’ve had pretty great browser support for the RelativeTimeFormat() method. In my mind, relative dates are just more visually appealing, especially for working with dates internationally. Dates like "5 days ago" or "in 2 months" are far more intuitive for users than 12/12/2023, or 03/11/2027. Folks in the US will see that as March 11, 2027, whereas the rest of the world will see that as November 03, 2027. What a nightmare.
-
Best date library to handle timezones in React Native?
İ am using moment js for a long time. You can check it also. https://momentjs.com/
-
JS Date: The Timezone Tantrum
We could control the DST flip by setting the test's input time to the appropriate time of year (summer/winter). However we couldn't control the timezone. We had to adjust the expected data in the test 🤢 using the same library which the production code used (momentjs).
- is there a date calculate script/libary ?
-
Top 10 "Must Have" Repositories for Web Developers
8. Moment.js
-
You don't need zero JS website for a perfect Lighthouse score
This may sound a bit general but we can't forget about well-tought code. If we are using a lot of external dependencies, we can check if there aren't many lighter alternatives. Example? Some people are still using moment.js for date formatting. Why not use a lightweight 2kb alternative instead? Writing clean, organized and maintainable code won't give us a huge score boost but we are trying to save every byte of data, right? 😉
-
Everything you need to know about Temporal Date API
We all know the pain of working with dates in Javascript. It needs to be more explicit, has almost no method, and could not be more clunky. For example, to create the Date January 1, 2023, you have to write a new Date (2023, 0, 1), which can be confusing for beginners, and overall just not that clear. And because of these reasons, the community has made many libraries that attempt to make Date easier to work with over the past years. Like momentjs or Date-fns. But the good news is that you won't need these third-party libraries any longer. The Temporal Date API in Javascript attempts to completely replace the Date object and fix all of the issues we generally face when working with dates.
-
one of my coworkers criticised me for using too shiny libraries.
moment was put into maintenance mode in 2020 and has gained 7 million weekly downloads to 19 million/week since then.
-
20 Best Libraries and Tools for React Developers
Moment is a JavaScript date library for parsing, validating, manipulating, and formatting dates. It allows displaying of date as per localization and in a human-readable format.
What are some alternatives?
dayjs - ⏰ Day.js 2kB immutable date-time library alternative to Moment.js with the same modern API
date-fns - ⏳ Modern JavaScript date utility library ⌛️
Luxon - ⏱ A library for working with dates and times in JS
moment-timezone - Timezone support for moment.js
dateformat - A node.js package for Steven Levithan's excellent dateFormat() function.
timeago.js - :clock8: :hourglass: timeago.js is a tiny(2.0 kb) library used to format date with `*** time ago` statement.
CherryTree - cherrytree
proposal-temporal - Provides standard objects and functions for working with dates and times.
fecha - Lightweight and simple JS date formatting and parsing
async - Async utilities for node and the browser
draw.io - draw.io is a JavaScript, client-side editor for general diagramming.
jquery-timeago - :clock8: The original jQuery plugin that makes it easy to support automatically updating fuzzy timestamps (e.g. "4 minutes ago").