mirror of
https://github.com/nexu-io/open-design.git
synced 2026-10-27 09:51:12 +01:00
* feat(landing): human-in-the-loop tutorial sync + contribute CTA Two tutorials-page improvements: 1. Move the daily YouTube sync to a human review step in Feishu. The cron no longer generates entries or opens PRs on its own; notify-candidates.ts posts a numbered candidate digest (after dedupe + the LLM relevance gate) to a Feishu webhook, a maintainer replies which to publish, and generate-selected.ts turns the approved ids into entries for a PR. Splits the old fetch script into youtube.ts (API client) + notify/generate entries. 2. Add a 'Contribute a tutorial' CTA to the tutorials index that opens GitHub's create-file UI prefilled with a frontmatter template, so anyone can propose a tutorial via pull request. New i18n keys (en + zh + zh-tw; others fall back to en). * feat(landing): friendlier tutorial contribution via issue form, surfaced higher Review feedback on the contribute entry point: - Submitting via a prefilled markdown file was intimidating. Add a GitHub issue form (tutorial-submission.yml) — paste a video link, pick a category, done — as the primary path; keep the prefilled-PR link as a secondary option for contributors who prefer a pull request. - Move the CTA from the very bottom to directly under the masthead and restyle it as a compact, coral-accented bar so it is seen without scrolling past the whole list. Also address PR review: - notify-candidates: treat Feishu's legacy non-zero StatusCode (returned on an HTTP 200) as a failure, not just the newer code field. - generate-selected: report selected ids that were not generated (unparseable args, videos not found on YouTube, write failures) and exit non-zero, so an approved selection can't be silently dropped. --------- Co-authored-by: Joey <276262049+xne998808-ai@users.noreply.github.com>
60 lines
1.8 KiB
YAML
60 lines
1.8 KiB
YAML
name: 📺 Submit a tutorial
|
|
description: Share an Open Design tutorial video to be featured on open-design.ai/tutorials.
|
|
title: "[Tutorial]: "
|
|
labels: ["tutorials"]
|
|
body:
|
|
- type: markdown
|
|
attributes:
|
|
value: |
|
|
Thanks for sharing! Made or found a great Open Design tutorial on YouTube? Fill in the video link below — that's the only required field. A maintainer will review it and add it to the tutorials page. No pull request or markdown needed.
|
|
|
|
- type: input
|
|
id: video_url
|
|
attributes:
|
|
label: YouTube video URL
|
|
description: Paste the full link, e.g. https://www.youtube.com/watch?v=XXXXXXXXXXX
|
|
placeholder: https://www.youtube.com/watch?v=...
|
|
validations:
|
|
required: true
|
|
|
|
- type: input
|
|
id: author
|
|
attributes:
|
|
label: Creator / channel name
|
|
description: Who made the video? Leave blank to use the YouTube channel name.
|
|
placeholder: e.g. Your channel name
|
|
validations:
|
|
required: false
|
|
|
|
- type: dropdown
|
|
id: category
|
|
attributes:
|
|
label: Category
|
|
description: Pick the closest fit (optional — a maintainer will confirm).
|
|
options:
|
|
- Getting started
|
|
- Tutorial
|
|
- Demo
|
|
- Review
|
|
- Community
|
|
default: 1
|
|
validations:
|
|
required: false
|
|
|
|
- type: textarea
|
|
id: summary
|
|
attributes:
|
|
label: What does it cover?
|
|
description: One or two sentences on what the video shows (optional).
|
|
placeholder: A quick walkthrough of installing Open Design and shipping a first design.
|
|
validations:
|
|
required: false
|
|
|
|
- type: checkboxes
|
|
id: confirm
|
|
attributes:
|
|
label: Before you submit
|
|
options:
|
|
- label: This video is actually about Open Design (nexu-io/open-design), not a different product.
|
|
required: true
|