1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2
3export default function (props: React.SVGProps<SVGSVGElement>) {
4 return (
5 <svg
18}
19
20export function Favicon(props: React.SVGProps<SVGSVGElement>) {
21 return (
22 <svg
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import wrap from "https://esm.sh/word-wrap@1.2.5";
3
7 title = "Val Town Blog",
8 ...props
9}: React.SVGProps<SVGSVGElement> & {
10 title?: string;
11}) {
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React from "https://esm.sh/react@18.2.0";
3import type { BlogPost } from "../utils/types.ts";
4import Footer from "./Footer.tsx";
10interface LayoutProps {
11 title: string;
12 children: React.ReactNode;
13 post?: BlogPost;
14}
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2
3export function RSSIcon(props: React.SVGProps<SVGSVGElement>) {
4 return (
5 <svg
19}
20
21export function TwitterIcon(props: React.SVGProps<SVGSVGElement>) {
22 return (
23 <svg
34}
35
36export function GitHubIcon(props: React.SVGProps<SVGSVGElement>) {
37 return (
38 <svg
53}
54
55export function BlueskyIcon(props: React.SVGProps<SVGSVGElement>) {
56 return (
57 <svg
68}
69
70export function DiscordIcon(props: React.SVGProps<SVGSVGElement>) {
71 return (
72 <svg
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2
3export default function (props: React.SVGProps<SVGSVGElement>) {
4 return (
5 <svg
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import {
3 BlueskyIcon,
16| | Before | Now |
17| ------------------- | ------------------------- | ---------- |
18| **Rendering** | Astro | React |
19| **Version control** | GitHub | Val Town |
20| **Text editing** | Local editor | Val Town |
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { Hono } from "https://esm.sh/hono@3.12.0";
3import { renderToStaticMarkup } from "https://esm.sh/react-dom@18.2.0/server";
4import { Favicon } from "../components/LogoMark.tsx";
5
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { Hono } from "https://esm.sh/hono@3.12.0";
3import { renderToString } from "https://esm.sh/react-dom@18.2.0/server";
4import { HomePage } from "../components/HomePage.tsx";
5import { posts } from "../utils/posts.ts";
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { render as renderPNG } from "https://deno.land/x/resvg_wasm@0.2.0/mod.ts";
3import { Hono } from "https://esm.sh/hono@3.12.0";
4import { renderToStaticMarkup } from "https://esm.sh/react-dom@18.2.0/server";
5import OGImage from "../components/OGImage.tsx";
6
Minimal React Router + Hono starter example
Freelance software engineer, open-sourcerer, speaker. Building `nuqs`, a type-safe search params state manager for React.
Write business logic with ease
Meet the new standard for modern TypeScript development.
Type-safe, reactive, framework-agnostic library to manage your business logic.