next-pwa
obsidian-releases
next-pwa | obsidian-releases | |
---|---|---|
9 | 1,653 | |
3,602 | 8,004 | |
- | 2.9% | |
2.4 | 9.9 | |
3 months ago | 5 days ago | |
JavaScript | JavaScript | |
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.
next-pwa
-
Enable PWA with next.js 13 or later using next-pwa (disabled in development environment)
/** @type {import('next').NextConfig} */ const path = require("path"); const isDev = process.env.NODE_ENV !== "production"; const withPWA = require("next-pwa")({ dest: "public", disable: isDev, buildExcludes: ["app-build-manifest.json"], }); const generateAppDirEntry = (entry) => { const packagePath = require.resolve("next-pwa"); const packageDirectory = path.dirname(packagePath); const registerJs = path.join(packageDirectory, "register.js"); return entry().then((entries) => { // Register SW on App directory, solution: https://github.com/shadowwalker/next-pwa/pull/427 if (entries["main-app"] && !entries["main-app"].includes(registerJs)) { if (Array.isArray(entries["main-app"])) { entries["main-app"].unshift(registerJs); } else if (typeof entries["main-app"] === "string") { entries["main-app"] = [registerJs, entries["main-app"]]; } } return entries; }); }; const nextConfig = { experimental: { appDir: true, }, reactStrictMode: true, webpack(config) { if( !isDev ){ const entry = generateAppDirEntry(config.entry); config.entry = () => entry; } return config; }, }; module.exports = withPWA(nextConfig);
-
Show HN: Duck, a chat-based note app for your knowledge base
Thank you for trying it and asking questions. Let me reply to them below.
> Could you give a brief overview of how the project is built, or what libraries are used? I found two in the source, React and Workbox. I've never heard of Workbox before, and I'm still figuring out how service workers are used. But it seems like a big part of the source.
For building, I used Next.js with static generation, not using Server-side rendering. But it's not an important part because it doesn't rely on Next.js features so much.
About Workbox, the app uses them with next-pwa (https://github.com/shadowwalker/next-pwa) for providing caching strategies and offline behavior as Progressive Web App. For example, the app registers several precached files via Workbox. Precached files are fetched and cached by the service worker and these caches can be used while offline. Also, Workbox can configure runtime caching strategies. You can see details in Workbox documentation (https://developer.chrome.com/docs/workbox/).
The app also uses the Service Worker to connect IndexedDB as a local database and send HTTP requests to synchronize data with Google Drive. By using the Service Worker, these methods don't block the user interaction from the main thread and Service Worker can run in the background to synchronize data even if the browser window is suddenly closed.
-
PWA support in NextJs
We tried to use next-offline and next-pwa, but we were only able to precache the static assets.
-
Precaching pages with next-pwa
It's possible that next-pwa might support precaching pages in the future. Subscribe to issue 252 to keep up to date on that.
-
Question about Nextjs and CRA PWA
I am currently using the opt-in integration for the CRA pwa. I kind of wanted to test out migrating to Next. I know NextJs has a pwa plugin. Does anyone have any experience migrating with this in mind (from cra to next)?
-
Does anyone have any experience with making PWAs in Next?
There's next-offline and next-pwa (and some comparison too). But has anyone here made a PWA with NextJS? Now I am not only referring to service workers/offline functionality, but also icons, adding to homescreen, manifest, and other PWA features. Does anyone have any good examples or guides to refer to?
-
I over-engineered my blog, and here’s what I’ve learned
next-pwa, for PWA support.
-
tmp.spacet.me devlog part 1
shadowwalker/next-pwa#132 improves error messages
obsidian-releases
-
UX Case Study: Markdown Heading
The closest editor that follows our first principle is Obsidian editor:
-
I switched from Notion to Obsidian
The solution was already installed on both my computer and my phone: Obsidian.
-
Why single vendor is the new proprietary
> why does open source need to "win"
Open source does not need to win.
But your ability to be in control of your computer needs to be preserved. A proprietary fridge cannot control your diet, while a proprietary App Store can control what software you install on YOUR phone (unless you live in EU, hello DMA!). The tail wags the dog, so to speak. Proprietary software has also been shown to break user workflows or remove functions in an update while leaving users with no choice whatsoever.
One alternative to having open source win is to ensure software must come with a robust warranty and other assurances you expect from the things you buy. EU's CRA will make software vulnerabilities in WiFi routers covered by warranty, for example.
You can also ensure robust and interoperable data storage options. For example, https://obsidian.md/ stores all notes in Markdown, not holding the data hostage in case users will not like how future versions will work. GDPR actually has a provision for data portability (Art. 20), but it does not seem to have a requisite effect on the industry yet.
And until the above issues are solved, open source remains the best way to ensure that a software tail cannot wag your computer dog.
-
Ask HN: Has Anyone Trained a personal LLM using their personal notes?
[2] https://obsidian.md/
-
Replatforming from Gatsby to Zola!
So I've had my fair share of personal websites and blogs. I have built them on stacks ranging from the most basic HTML and CSS, to hosted frameworks like Wordpress and Laravel, to the more modern single page applications built in Vue and React. For a simple content blog I think you can't go wrong with a Static Site Generator though. These days I am almost exclusively writing everything in Obsidian. Which is great because its all in standard markdown format. This allows for a really neat and easy content publishing workflow.
-
Show HN: Godspeed is a fast, 100% keyboard oriented todo app for Mac
Consider making an Obsidian[^1] plugin, or writing to Obsidian-compatible Markdown files :)
[^1]: https://obsidian.md/
-
Setting Up Obsidian for Content Planning and Project Management
Obsidian is a writing application created to allow for offline / private note taking in markdown format, in an interface that looks a lot like our regular programming IDE. It is very flexible, with a good collection of community plugins that you can use to customize Obsidian to your heart contents.
-
What is Omnivore and How to Save Articles Using this Tool
Obsidian support via our Obsidian Plugin
- Tools that Make Me Productive as a Software Engineer
-
Where Is Noether's Principle in Machine Learning?
Thank you!
In the beginning, I used kognise'z water.css [1], so most of the smart decisions (background/text color, margins, line spacing I think) probably come from there. Since then it's been some amount of little adjustments. The font is by Jean François Porchez, called Le Monde Livre Classic [2].
I draft in Obsidian [3] and build the site with a couple python scripts and KaTeX.
[1] https://watercss.kognise.dev/
[2] https://typofonderie.com/fr/fonts/le-monde-livre-classic
[3] https://obsidian.md/
What are some alternatives?
next-offline - make your Next.js application work offline using service workers via Google's workbox
Trilium Notes - Build your personal knowledge base with Trilium Notes
next-seo - Next SEO is a plug in that makes managing your SEO easier in Next.js projects.
QOwnNotes - QOwnNotes is a plain-text file notepad and todo-list manager with Markdown support and Nextcloud / ownCloud integration.
Next.js - The React Framework
vimwiki - Personal Wiki for Vim
sqlite-worker - A simple, and persistent, SQLite database for Web and Workers.
TiddlyWiki - A self-contained JavaScript wiki for the browser, Node.js, AWS Lambda etc.
Sentry-Picam - A simple wildlife camera for Raspberry Pis.
AppFlowy - AppFlowy is an open-source alternative to Notion. You are in charge of your data and customizations. Built with Flutter and Rust.
next-mdx-remote - Load mdx content from anywhere through getStaticProps in next.js
Mermaid - Edit, preview and share mermaid charts/diagrams. New implementation of the live editor.