尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Satirisk kvällstidning. Next.js frontend.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Daglig satirisk alarmtext baserad på dagens högst scorade rubrik från Alarmindex. Sajt: https://www.kycklingbladet.com Studio (admin): https://kycklingbladet.sanity.studio Kod: https://github.com/simonnystrom-hub/kycklingbladet Frontend läser publicerat innehåll utan token. Write-token och Anthropic behövs bara för daily-jobbet (GitHub Actions), inte för att sajten ska synas. Egen domän: Vercel → Project → Settings → Domains.查看完整 README ↗
Daglig satirisk alarmtext baserad på dagens högst scorade rubrik från Alarmindex.
Sajt: https://www.kycklingbladet.com
Studio (admin): https://kycklingbladet.sanity.studio
Kod: https://github.com/simonnystrom-hub/kycklingbladet
Importera GitHub-repot på vercel.com/new och sätt:
NEXT_PUBLIC_SANITY_PROJECT_ID = go9a4gjdNEXT_PUBLIC_SANITY_DATASET = productionNEXT_PUBLIC_SANITY_API_VERSION = 2025-01-01NEXT_PUBLIC_SITE_URL = https://www.kycklingbladet.comFrontend läser publicerat innehåll utan token. Write-token och Anthropic behövs bara för daily-jobbet (GitHub Actions), inte för att sajten ska synas.
Egen domän: Vercel → Project → Settings → Domains.
.env: frontend NEXT_PUBLIC_SANITY_PROJECT_ID (kopiera från .env.example) och Studio SANITY_STUDIO_PROJECT_ID plus SANITY_STUDIO_DATASET i ../kycklingbladet-studio (se Studio .env.example).cd ../kycklingbladet-studio
npm i
npm run seed
ALARMINDEX_SANITY_PROJECT_ID från ../alarmindex/.env.local (variabelnamnet där — skriv inte in själva värdet i README eller git).npm install
npm run dev
Öppna http://localhost:3000
npm run daily
| Variabel | Beskrivning |
|---|---|
NEXT_PUBLIC_SANITY_PROJECT_ID | Kycklingbladets Sanity project id (frontend) |
NEXT_PUBLIC_SANITY_DATASET | Dataset (default production) |
SANITY_STUDIO_PROJECT_ID | Samma Sanity project id i Studio (../kycklingbladet-studio) |
SANITY_STUDIO_DATASET | Studio-dataset (default production) |
NEXT_PUBLIC_SANITY_API_VERSION | Sanity API-version (default 2025-01-01) |
NEXT_PUBLIC_SITE_URL | Publik site-URL. Kod och canonical pekar alltid på https://www.kycklingbladet.com. |
SANITY_API_WRITE_TOKEN | Token för att skapa alarm-dokument |
ALARMINDEX_SANITY_PROJECT_ID | Alarmindex Sanity project id (läs scored headlines) |
ALARMINDEX_SANITY_DATASET | Alarmindex-dataset (default production) |
ALARMINDEX_SANITY_API_VERSION | Alarmindex API-version (default 2025-01-01) |
ALARMINDEX_SANITY_READ_TOKEN | Valfri read-token om Alarmindex-dataset kräver det |
ANTHROPIC_API_KEY | Claude API-nyckel (daglig generering) |
ANTHROPIC_MODEL | Claude-modell (valfri override) |
FACEBOOK_PAGE_ID | Facebooksida som ska få nya larm och Extra Extra |
FACEBOOK_PAGE_ACCESS_TOKEN | Långlivat Page Access Token (inte app-secret) |
EXTRA_EXTRA_SECRET | Delad Studio-hemlighet för Extra Extra och Citat på X (Vercel) |
X_API_KEY | X-appens API Key för Citat på X (Vercel, OAuth 1.0a) |
X_API_SECRET | X-appens API Secret för Citat på X (Vercel) |
X_ACCESS_TOKEN | Användartoken för @Kycklingbladet med Read and Write (Vercel) |
X_ACCESS_TOKEN_SECRET |
Daily-jobbet i .github/workflows/daily.yml har inget eget klockschema. Alarmindex-studions daily-pipeline (simonnystrom-hub/alarmindex-studio) triggar det när dagens index är klart. Manuell körning: Actions → Daily issue → Run workflow. Sätt dessa repository secrets så de matchar workflowen:
Visdomsord körs separat via .github/workflows/visdomsord.yml varje dag 07:07 Europe/Stockholm och postar samma text till Facebook och X. Jobbet hämtar nästa oanvända visdomsord från Studio-poolen. Daily-jobbet och Extra Extra postar också till båda.
X-svar körs via .github/workflows/x-reply.yml var 15:e minut, hämtar omnämnanden och publicerar svar. ANTHROPIC_API_KEY är obligatorisk för detta GitHub Actions-jobb; ANTHROPIC_MODEL är en valfri override. Innan 15-minutersjobbet aktiveras, sätt siteSettings.xMentionsSinceId till id:t för det senaste aktuella omnämnandet av @Kycklingbladet; annars kan den första körningen hämta upp till fem sidor (cirka 500 omnämnanden) och göra många Claude-anrop.
Kör visdomsord-jobbet manuellt med gh workflow run visdomsord.yml.
| Secret | Används som |
|---|---|
NEXT_PUBLIC_SANITY_PROJECT_ID | Kycklingbladet Sanity project id |
SANITY_API_WRITE_TOKEN | Write-token för att skapa alarm |
ALARMINDEX_SANITY_PROJECT_ID | Alarmindex Sanity project id |
ALARMINDEX_SANITY_READ_TOKEN | Valfri Alarmindex read-token |
ANTHROPIC_API_KEY | Claude API-nyckel |
ANTHROPIC_MODEL | Valfri modell-override |
GEMINI_API_KEY | Google-nyckel för larm- och Extra Extra-teckningar |
GEMINI_IMAGE_MODEL | Valfri modell-override (default gemini-3-pro-image) |
FACEBOOK_PAGE_ID | Facebooksida |
FACEBOOK_PAGE_ACCESS_TOKEN | Page Access Token med pages_manage_posts, pages_read_engagement och pages_manage_engagement |
X_API_KEY | X-appens API Key |
X_API_SECRET | X-appens API Secret |
X_ACCESS_TOKEN | Användartoken för @Kycklingbladet med Read and Write |
X_ACCESS_SECRET | Access Token Secret (GitHub-secretnamnet; X_ACCESS_TOKEN_SECRET går också) |
Samma Facebook- och X-värden ska också sättas i Vercel så Extra Extra- och Citat-publicering från Studio kan posta. Citat på X från Studio kräver EXTRA_EXTRA_SECRET och X-miljövariablerna ovan i Vercel; Studio ska ha samma hemlighet som SANITY_STUDIO_EXTRA_EXTRA_SECRET. Facebook-app-id och app-secret används bara för att skapa tokenet, inte i jobbet. X Premium på kontot räcker inte — det krävs en app i X Developer Portal med Read and Write och API-krediter för att kunna posta.
Page token (en gång): i Graph API Explorer, användartoken med sidorättigheterna ovan → byt till långlivat användartoken med app-id + app-secret → GET /me/accounts → kopiera sidans access_token. Appen ska vara Live, annars syns inläggen bara för app-roller.
Studio (../kycklingbladet-studio) är det enda sättet att avpublicera eller redigera ett alarm. Att köra om daily-jobbet skriver inte över ett befintligt alarm för samma datum.
Access Token Secret för samma användartoken (Vercel; X_ACCESS_SECRET går också) |