Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@ jobs:
version: 10.4.0
- run: pnpm install --frozen-lockfile
- run: pnpm check
- run: pnpm lint
- run: pnpm prettier:check
1 change: 0 additions & 1 deletion 2025/.npmrc

This file was deleted.

2 changes: 1 addition & 1 deletion 2025/astro.config.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import react from '@astrojs/react';
import tailwindcss from '@tailwindcss/vite';
import dsv from '@rollup/plugin-dsv';
import tailwindcss from '@tailwindcss/vite';

// @ts-check
import { defineConfig } from 'astro/config';
Expand Down
16 changes: 9 additions & 7 deletions 2025/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import { ryoppippi } from '@ryoppippi/eslint-config';
import { ryoppippi } from "@ryoppippi/eslint-config";

export default ryoppippi({
type: 'app', // or 'lib'
svelte: false,
astro: true,
typescript: {
tsconfigPath: './tsconfig.json',
},
type: "app", // or 'lib'
svelte: false,
astro: true,
stylistic: false,
formatters: false,
Comment on lines +7 to +8
Copy link
Member Author

@ryoppippi ryoppippi Nov 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stylisticとformattersがprettierと競合してたので無効にしました

typescript: {
tsconfigPath: "./tsconfig.json",
},
});
7 changes: 4 additions & 3 deletions 2025/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,16 @@
"type": "module",
"version": "0.0.1",
"private": true,
"packageManager": "pnpm@10.4.0",
"packageManager": "pnpm@10.20.0",
"scripts": {
"dev": "astro dev",
"build": "astro build",
"preview": "astro preview",
"astro": "astro",
"check": "astro check",
"lint": "eslint --cache .",
"format": "nr prettier:fix",
"lint:fix": "nr lint --fix",
"format": "nr lint:fix && nr prettier:fix",
"prettier:check": "prettier --cache --check src",
"prettier:fix": "prettier --cache --write src"
},
Expand All @@ -34,7 +35,7 @@
"@antfu/ni": "^25.0.0",
"@astrojs/ts-plugin": "^1.10.4",
"@rollup/plugin-dsv": "^3.0.5",
"@ryoppippi/eslint-config": "npm:@jsr/ryoppippi__eslint-config@^0.0.25",
"@ryoppippi/eslint-config": "^0.4.0",
"eslint": "^9.34.0",
"eslint-plugin-astro": "^1.3.1",
"eslint-plugin-format": "^1.0.1",
Expand Down
1,011 changes: 302 additions & 709 deletions 2025/pnpm-lock.yaml

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions 2025/src/components/AboutVimConf.astro
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
import Heading from "./Heading.astro";
import { Camera, Clapperboard } from "@lucide/astro";
import Card from "./Card.astro";
import { Clapperboard, Camera } from "@lucide/astro";
import Heading from "./Heading.astro";
---

<section id="about" class="bg-emerald-50 py-10 md:py-16">
Expand Down
6 changes: 3 additions & 3 deletions 2025/src/components/CfP.astro
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
import Heading from "./Heading.astro";
import Card from "./Card.astro";
import {
FileText,
Calendar,
Clock,
ExternalLink,
FileText,
Gift,
Globe,
} from "@lucide/astro";
import Card from "./Card.astro";
import Heading from "./Heading.astro";
---

<section id="cfp" class="bg-white py-10 md:py-16">
Expand Down
2 changes: 1 addition & 1 deletion 2025/src/components/Footer.astro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
import VimLogo from "./VimLogo.astro";
import { Mail, XIcon } from "@lucide/astro";
import VimLogo from "./VimLogo.astro";
---

<footer class="bg-gray-900 py-6 text-white sm:py-8 md:py-12">
Expand Down
2 changes: 1 addition & 1 deletion 2025/src/components/Header.astro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
import VimLogo from "./VimLogo.astro";
import { Menu, X } from "@lucide/astro";
import VimLogo from "./VimLogo.astro";
---

<header
Expand Down
2 changes: 1 addition & 1 deletion 2025/src/components/KeynoteSpeakers/KeynoteSpeaker.astro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
import { MessageSquare, User } from "@lucide/astro";
import Card from "../Card.astro";
import { User, MessageSquare } from "@lucide/astro";
type Props = {
keynoteSpeaker: string;
Expand Down
4 changes: 2 additions & 2 deletions 2025/src/components/KeynoteSpeakers/index.astro
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
import Heading from "../Heading.astro";
import KeynoteSpeaker from "./KeynoteSpeaker.astro";
import hrsh7th from "../../assets/speaker-icon/hrsh7th.png?url";
import rbtnn from "../../assets/speaker-icon/rbtnn.png?url";
import Heading from "../Heading.astro";
import KeynoteSpeaker from "./KeynoteSpeaker.astro";
---

<section
Expand Down
2 changes: 1 addition & 1 deletion 2025/src/components/LanguagePicker.astro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
import { LANGUAGES } from "@/i18n";
import { base } from "astro:config/client";
import { LANGUAGES } from "@/i18n";

const pathname = Astro.url.pathname.replace(import.meta.env.BASE_URL, "");
const currentLang = pathname.split("/")[1];
Expand Down
2 changes: 1 addition & 1 deletion 2025/src/components/OfficialBlog.astro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
import { Calendar, Clock, ExternalLink, User } from "@lucide/astro";
import Heading from "./Heading.astro";
import { Calendar, User, Clock, ExternalLink } from "@lucide/astro";
---

<section id="blog" class="bg-gray-50 py-10 md:py-16">
Expand Down
6 changes: 3 additions & 3 deletions 2025/src/components/OgImage.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { Buffer } from "node:buffer";
import LogoWhite from "@/assets/logo-white.svg?raw";
import { MAIN_BACKGROUND_COLOR } from "@/consts";
import satori from "satori";

import sharp from "sharp";
import LogoWhite from "@/assets/logo-white.svg?raw";

import { MAIN_BACKGROUND_COLOR } from "@/consts";

/* convert string to base64 */
const LogoWhiteUrl = `data:image/svg+xml;base64,${Buffer.from(LogoWhite).toString("base64")}`;
Expand Down
4 changes: 2 additions & 2 deletions 2025/src/components/Schedule/TimeTable.astro
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
import Card from "../Card.astro";
import { Clock, User } from "@lucide/astro";
import { getScheduleCardStyle, formatTime } from "./index.ts";
import Card from "../Card.astro";
import { formatTime, getScheduleCardStyle } from "./index.ts";

type Props = {
start_at: Date;
Expand Down
10 changes: 5 additions & 5 deletions 2025/src/components/Schedule/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { MicVocal, Zap, Coffee } from "@lucide/astro";
import { Coffee, MicVocal, Zap } from "@lucide/astro";

export const getScheduleCardStyle = (title: string) => {
export function getScheduleCardStyle(title: string) {
const isBreak = ["Short break", "Lunch break"].includes(title);
if (isBreak) {
return ["bg-gray-50 border-gray-200", Coffee];
Expand All @@ -16,13 +16,13 @@ export const getScheduleCardStyle = (title: string) => {
}

return ["bg-green-50", MicVocal];
};
}

export const formatTime = (date: Date): string => {
export function formatTime(date: Date): string {
return new Intl.DateTimeFormat("ja-JP", {
timeZone: "Asia/Tokyo",
hour: "2-digit",
minute: "2-digit",
hour12: false,
}).format(date);
};
}
7 changes: 4 additions & 3 deletions 2025/src/components/Sessions/Session.astro
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
import { User, FileText } from "@lucide/astro";
import { FileText, User } from "@lucide/astro";
import Card from "../Card.astro";

type Props = {
Expand Down Expand Up @@ -31,8 +31,9 @@ const {
class="aspect-square h-full w-full object-cover text-center"
alt={speaker_name}
src={image_url ||
"https://via.placeholder.com/150?text=" +
encodeURIComponent(speaker_name.charAt(0))}
`https://via.placeholder.com/150?text=${encodeURIComponent(
speaker_name.charAt(0),
)}`}
/></span
>
</div>
Expand Down
4 changes: 2 additions & 2 deletions 2025/src/components/Sessions/index.astro
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
import Heading from "../Heading.astro";
import Session from "./Session.astro";
import { getCollection } from "astro:content";
import Heading from "../Heading.astro";
import { getSessionImageUrl } from "./index";
import Session from "./Session.astro";

const sessions = await getCollection("sessions");

Expand Down
5 changes: 3 additions & 2 deletions 2025/src/components/Sessions/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ export async function getSessionImageUrl(sessionId: string): Promise<string> {
const suffix = customExtensions[sessionId] ?? "png";

const imagePath = `/src/assets/sessions/${sessionId}.${suffix}`;
if (images[imagePath]) {
const imageModule = await images[imagePath]();
const imageModuleFunction = images[imagePath];
if (imageModuleFunction != null) {
const imageModule = await imageModuleFunction();
return imageModule.default.src;
}

Expand Down
8 changes: 4 additions & 4 deletions 2025/src/components/Sponsors/Companies.astro
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
import type { CollectionEntry } from "astro:content";
import { getCollection } from "astro:content";
import Company from "./Company.astro";
import Heading from "../Heading.astro";
import type { CollectionEntry } from "astro:content";
import Company from "./Company.astro";

const sponsorsData = await getCollection("sponsors");

Expand Down Expand Up @@ -33,7 +33,7 @@ const rankNameMap = {
bronze: "ブロンズ",
};

const getGridClasses = (rank: string, count: number) => {
function getGridClasses(rank: string, count: number) {
const baseClasses = ["mb-8", "grid", "place-items-center", "gap-4"];

if (rank === "platinum") {
Expand Down Expand Up @@ -73,7 +73,7 @@ const getGridClasses = (rank: string, count: number) => {
}

return baseClasses;
};
}
---

<Heading>企業スポンサー</Heading>
Expand Down
2 changes: 1 addition & 1 deletion 2025/src/components/Sponsors/Company.astro
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ if (name === "NodeX 株式会社") {
<img
alt={name}
src={imageUrl}
class={currentStyle.image + " bg-white"}
class={`${currentStyle.image} bg-white`}
loading="lazy"
/>
</div>
Expand Down
2 changes: 1 addition & 1 deletion 2025/src/components/Sponsors/Individual.astro
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ try {
`../../assets/individual-sponsors/${src && src !== "" ? src : "no-icon"}.png?url`
);
iconUrl = module.default;
} catch (e) {
} catch {
console.error(`Icon not found: ${src}`);
}
---
Expand Down
6 changes: 3 additions & 3 deletions 2025/src/components/Sponsors/Individuals.astro
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
import Card from "../Card.astro";
import Individual from "./Individual.astro";
import { ExternalLink, Heart } from "@lucide/astro";
import rawCsv from "../../content/individual_sponsors.csv";
import { CsvSchema } from "../../types/schema";
import { ExternalLink, Heart } from "@lucide/astro";
import Card from "../Card.astro";
import Individual from "./Individual.astro";

const csv = CsvSchema.parse(rawCsv);
---
Expand Down
10 changes: 5 additions & 5 deletions 2025/src/components/Sponsors/index.astro
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
import Companies from "./Companies.astro";
import Card from "../Card.astro";
import Heading from "../Heading.astro";
import {
Heart,
Calendar,
Gift,
ExternalLink,
FileText,
Gift,
Heart,
MessageCircle,
} from "@lucide/astro";
import Card from "../Card.astro";
import Heading from "../Heading.astro";
import Companies from "./Companies.astro";
---

<section id="sponsors" class="bg-emerald-50 py-10 md:py-16">
Expand Down
4 changes: 2 additions & 2 deletions 2025/src/components/Staff/StaffCard.astro
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
import Card from "../Card.astro";
import BlueSkyIcon from "@/assets/bluesky.jpg?url";
import GithubIcon from "@/assets/github-icon.png?url";
import XIcon from "@/assets/x-icon.png?url";
import BlueSkyIcon from "@/assets/bluesky.jpg?url";
import Card from "../Card.astro";
type Props = {
name: string;
alsoKnownAs?: string;
Expand Down
2 changes: 1 addition & 1 deletion 2025/src/components/Staff/index.astro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
import StaffCard from "./StaffCard.astro";
import Heading from "../Heading.astro";
import StaffCard from "./StaffCard.astro";
---

<section id="staff" class="bg-white py-6 sm:py-8 md:py-12 lg:py-16">
Expand Down
2 changes: 1 addition & 1 deletion 2025/src/components/Top.astro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
import VimLogo from "./VimLogo.astro";
import { ExternalLink } from "@lucide/astro";
import VimLogo from "./VimLogo.astro";
---

<section
Expand Down
2 changes: 1 addition & 1 deletion 2025/src/components/Venue.astro
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
import { Calendar, Clock, MapPin } from "@lucide/astro";
import VenueMap from "@/components/VenueMap.astro";
import Card from "./Card.astro";
import { MapPin, Calendar, Clock } from "@lucide/astro";
import Heading from "./Heading.astro";
---

Expand Down
1 change: 1 addition & 0 deletions 2025/src/components/VimLogo.astro
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
import { Buffer } from "node:buffer";
import VimLogoRaw from "@/assets/Vimlogo.svg?raw";
const VimLogoUrl = `data:image/svg+xml;base64,${Buffer.from(VimLogoRaw).toString("base64")}`;

Expand Down
1 change: 0 additions & 1 deletion 2025/src/consts/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import * as ufo from "ufo";

import { DOMAIN } from "./_domain.js" with { type: "macro" };

// eslint-disable-next-line ts/no-unsafe-argument
export const BASE_URL = ufo.joinURL(DOMAIN, base);

export const MAIN_BACKGROUND_COLOR = `#069700`;
8 changes: 4 additions & 4 deletions 2025/src/layouts/Layout.astro
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
import { GoogleFontsOptimizer } from "astro-google-fonts-optimizer";
import { SEO } from "astro-seo";
import * as ufo from "ufo";
import favicon from "@/assets/favicon.ico?url";
import Footer from "@/components/Footer.astro";
import Header from "@/components/Header.astro";
import { BASE_URL } from "@/consts";
import { GoogleFontsOptimizer } from "astro-google-fonts-optimizer";
import { SEO } from "astro-seo";

import * as ufo from "ufo";
import { BASE_URL } from "@/consts";

import "../styles/global.css";

Expand Down
Loading