惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Privacy & Cybersecurity Law Blog
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
B
Blog RSS Feed
罗磊的独立博客
V
V2EX
V
Visual Studio Blog
博客园 - 叶小钗
W
WeLiveSecurity
小众软件
小众软件
K
Kaspersky official blog
美团技术团队
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
Martin Fowler
Martin Fowler
Recorded Future
Recorded Future
Project Zero
Project Zero
Hugging Face - Blog
Hugging Face - Blog
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
Microsoft Azure Blog
Microsoft Azure Blog
V
Vulnerabilities – Threatpost
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
Help Net Security
Help Net Security
博客园 - Franky
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Forbes - Security
Forbes - Security
M
MIT News - Artificial intelligence
H
Hacker News: Front Page
大猫的无限游戏
大猫的无限游戏
Vercel News
Vercel News
Spread Privacy
Spread Privacy
The Register - Security
The Register - Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Google Online Security Blog
Google Online Security Blog
PCI Perspectives
PCI Perspectives
The Last Watchdog
The Last Watchdog
AI
AI
N
News | PayPal Newsroom
D
DataBreaches.Net
Cloudbric
Cloudbric
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 司徒正美
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog

Deno

Deno 2.8 | Deno Claw Patrol: an open-source security firewall for agents | Deno Fresh 2.3: Zero JS by default, View Transitions, and Temporal support | Deno Deno 2.7: Temporal API, Windows ARM, and npm overrides | Deno Build a dinosaur runner game with Deno, pt. 6 | Deno Build a dinosaur runner game with Deno, pt. 5 | Deno Deno Deploy is Generally Available | Deno Introducing Deno Sandbox | Deno Build a dinosaur runner game with Deno, pt. 4 | Deno Build a dinosaur runner game with Deno, pt. 3 | Deno Build a dinosaur runner game with Deno, pt. 2 | Deno React / Next.js Denial-of-Service Vulnerability: Deno Deploy users protected | Deno Deno 2.6: dx is the new npx | Deno Build a dinosaur runner game with Deno, pt. 1 | Deno React Server Functions / Next.js Vulnerability: Deno Deploy users protected | Deno My highlights from the new Deno Deploy | Deno Deno's Other Open Source Projects | Deno How Deno protects against npm exploits | Deno Help Us Raise $200k to Free JavaScript from Oracle | Deno Deno 2.5: Permissions in the config file | Deno Fresh 2.0 Graduates to Beta, Adds Vite Support | Deno Deno 2.4: deno bundle is back | Deno JavaScript™ Trademark Update | Deno What's coming to JavaScript | Deno A brief history of JavaScript | Deno Reports of Deno's Demise Have Been Greatly Exaggerated | Deno An Update on Fresh | Deno How Plaid migrated 100 services to a new database platform 5x faster with Deno | Deno Deno 2.3: Improved deno compile, local npm packages, and more | Deno Add JSR packages with pnpm and Yarn | Deno Zero-config Debugging with Deno and OpenTelemetry | Deno Exploring Art with TypeScript, Jupyter, Polars, and Observable Plot | Deno Deno v Oracle Update 3: Fighting the JavaScript Trademark | Deno Build a custom RAG AI agent in TypeScript and Jupyter | Deno How to get deep traces in your Node.js backend with OTel and Deno | Deno toranoana.deno #20 登録受付中(2025年3月14日) | Deno Node just added TypeScript support. What does that mean for Deno? | Deno The Dino 🦕, the Llama 🦙, and the Whale 🐋 | Deno Publish a lint rule, get a prize | Deno Deno 2.2: OpenTelemetry, Lint Plugins, node:sqlite | Deno If you're not using npm specifiers, you're doing it wrong | Deno How Deno's documentation is evolving | Deno Oracle justified its JavaScript trademark with Node.js—now it wants that ignored | Deno Introducing the JSR open governance board | Deno Intro to Wasm in Deno | Deno Announcing OpenAI on JSR | Deno Deno in 2024 | Deno Goodbye WinterCG, welcome WinterTC | Deno Build a SolidJS app with Deno | Deno Run your Next.js SSR app on Deno Deploy | Deno Solve Advent of Code 2024 with Deno and Win Prizes! | Deno Deno v. Oracle: Canceling the JavaScript Trademark | Deno Deno 2.1: Wasm Imports and other enhancements | Deno Build a Typesafe API with tRPC and Deno | Deno Self-contained Executable Programs with Deno Compile | Deno Build a Database App with Drizzle ORM and Deno | Deno Introducing your new JavaScript package manager: Deno | Deno Announcing Growthbook on JSR | Deno Build an Astro site with Deno | Deno How to convert CommonJS to ESM | Deno Announcing Deno 2 | Deno The Final Touches: What’s New In v2.0.0-rc.10 | Deno Announcing Stable V8 Bindings for Rust | Deno Deno 2.0 Release Candidate | Deno Secure, efficient private npm registries with Cloudsmith and Deno | Deno Painting the Plane as We Fly It: Designing JSR | Deno Introducing Web Cache API support on Deno Deploy | Deno Deno 1.46: The Last 1.x Release | Deno Protect your cloud spend with new Deno Deploy spend limits | Deno What we got wrong about HTTP imports | Deno Benchmarking AWS Lambda Cold Starts Across JavaScript Runtimes | Deno Announcing Supabase on JSR | Deno Deno 1.45: Workspace and Monorepo Support | Deno Introducing KV Backup for Deno Subhosting | Deno A Gentle Intro to TypeScript | Deno Announcing Hono on JSR | Deno How We Made the Deno Language Server Ten Times Faster | Deno How the Guardian uses Deno to audit accessibility and performance across their 2.7 million articles | Deno Introducing More Flexible Domain Association for Deno Subhosting | Deno The stabilization process of the Standard Library has begun | Deno Deno 1.44: Private npm registries, improved Node.js compat, and performance boosts | Deno How we built a secure, performant, multi-tenant cloud platform to run untrusted code | Deno The Deno Standard Library is now available on JSR | Deno How to document your JavaScript package | Deno Your Low Code Solution Needs an Escape Hatch | Deno Deno 1.43: Improved Language Server performance | Deno How Slack used Deno to save months of engineering effort in launching their new platform | Deno JSR Is Not Another Package Manager | Deno Announcing the Hookdeck SDK on JSR | Deno Announcing the Neon Serverless Driver on JSR | Deno An intro to TSConfig for JavaScript Developers | Deno How we built JSR | Deno How Netlify used Deno Subhosting to build a successful edge functions product | Deno Introducing Simpler Project Creation in Deno Deploy | Deno Deno 1.42: Better dependency management with JSR | Deno Introducing deployctl, the command line interface for Deno Deploy | Deno Introducing JSR - the JavaScript Registry | Deno How to add Monaco to a Next.js app and securely run untrusted user code | Deno Survey Results and Roadmap | Deno Deno 1.41: smaller deno compile binaries | Deno
Introducing Fresh WordPress Themes | Deno
Yoshiya Hino · 2022-11-10 · via Deno

WordPress is the most successful content management system (CMS), powering 65.2% of CMS-based websites and 43.2% of all websites (on the internet) in 2022—and continues to grow.

But building on WordPress comes with some challenges. You can either modify an available theme based off old technologies (e.g. jQuery) or spend time setting up WordPress’s REST API (“headless” mode) with a modern web framework like React or Vue. We believe there’s an even better approach.

Fresh is a modern web framework that embraces progressive enhancement through server-side rendering and islands architecture (it sends zero JavaScript to the client by default). Using a Fresh theme on headless WordPress not only allows for more productive development (native TypeScript support, no build step), but also provides a faster website experience for visitors.

We’ve open sourced two WordPress Themes built on Fresh to show you how easy it is to get started.

The above diagram shows the suggested site development workflow. Developers develop the frontend in Fresh, while site owners/content authors create and manage content in the WordPress dashboard. Note that there’s no need of additional development of WordPress dashboard, as it won’t be visible to visitors.

Fresh as a frontend of headless WordPress

We released the stable version of Fresh in June and also released v1.1 with a lot of improvements in September.

Fresh is a good fit as a frontend of headless WordPress for the following reasons:

  1. Fresh doesn’t require a build step.
  2. TypeScript support is available out of the box.
  3. You have quick and easy access to modern frontend tools/libraries.

No build step

Fresh doesn’t have a build step. Upon each request, Fresh compiles everything and sends it to the browser just-in-time. There’s no separate install step either - all dependencies are installed and cached when its run the first time.

On the other hand, most Node.js based frameworks (such as Next.js, Nuxt, Remix, etc.) require you to first install the dependencies of your app, and then to build the assets before deploying.

The required mental model for developing the site is very similar between Fresh and PHP/WordPress, so existing PHP/WordPress developers can quickly adapt to Fresh dev environment.

TypeScript support

TypeScript is very important for developing apps efficiently, since it catches lots of errors before running any code. However, when using other JavaScript frameworks, setting up and configurating TypeScript can be tedious.

Because Fresh is based on Deno, Fresh supports TypeScript out of the box. It allows you to quickly start using TypeScript without any configuration. Especially with our robust VS Code support, you can start writing TypeScript immediately.

Easy access to modern tools

Fresh integrates Preact, a lightweight version of React. You can write the interaction of webpage in a reactive style. Fresh also has official twind plugin, which allows you to write Tailwind classes for styling in your code.

You can also import npm modules for frontend development via CDNs such as https://esm.sh/. These modules come with type annotation by default thanks to X-TypeScript-Types custom HTTP header. For examples of which modules can be used with Fresh, check out our Fresh Showcase page.

Fresh WordPress Themes

We have open sourced two WordPress themes built on Fresh, powered by headless WordPress. These themes allow you to start developing a website using Fresh and WordPress.

Source Code: https://github.com/denoland/fresh-wordpress-themes

Blog live demo: https://wp-blog-example.deno.dev/

Screenshot of a Blog Fresh WordPress Theme


Shop live demo: https://wp-sweets-co.deno.dev/

Screenshot of a E-commerce Fresh WordPress Theme

You can try these themes on your own machine with the following steps:

Blog

git clone https://github.com/denoland/fresh-wordpress-themes.git
cd fresh-wordpress-themes/blog
deno task docker

Then open another terminal in the same directory:

Then visit http://localhost:8000/. You can manage its contents via the WordPress dashboard at http://localhost/wp-admin (username: user, password: password).

Shop

git clone https://github.com/denoland/fresh-wordpress-themes.git
cd fresh-wordpress-themes/corporate
deno task docker

Then open another terminal in the same directory:

Then visit http://localhost:8000/. You can manage its contents via the WordPress dashboard at http://localhost/wp-admin (username: user, password: password).

Note that Blog and Shop themes use different setups for WordPress server. Make sure you run deno task docker command in the right directory.

WordPress hosting options

There are a lot of options for hosting WordPress on the internet. Many cloud providers have special guides and templates dedicated to WordPress. There are also dedicated hosting services for WordPress, such as Bluehost, DreamHost, SiteGround, etc. You can choose which is the best fit for your needs from these options.

There are also many resources on the internet about how to scale your WordPress instances.

What’s next

We plan to develop more themes based on this architecture, which cover more wider ranges of websites, such as e-commerce, reservation platforms, etc.

If you’re interested building with Fresh + WordPress, please try Fresh WordPress themes and give us any feedback on GitHub issues, Discord, or Twitter.