Back to APIs list

Github API examples & templates

Use these vals as a playground to view and fork Github API examples and templates on Val Town. Run any example below or find templates that can be used as a pre-built solution.
emailGithubReactions
vtdocs
emailGithubReactions
An interactive, runnable TypeScript val by vtdocs
Script
gistFetcher
tgrecojs
gistFetcher
An interactive, runnable TypeScript val by tgrecojs
Script
githubParser
yawnxyz
githubParser
// Add new endpoint to handle file type fetching
HTTP
reposStaleGithubPRs
ramkarthik
reposStaleGithubPRs
An interactive, runnable TypeScript val by ramkarthik
Script
githubFollowing
cas
githubFollowing
An interactive, runnable TypeScript val by cas
Script
githubEvents
stevekrouse
githubEvents
An interactive, runnable TypeScript val by stevekrouse
Script
githubStarsRSS
joshmock
githubStarsRSS
An interactive, runnable TypeScript val by joshmock
Script
githubEvents
cathy
githubEvents
An interactive, runnable TypeScript val by cathy
Script
getGithubUserViaOctokit
vtdocs
getGithubUserViaOctokit
An interactive, runnable TypeScript val by vtdocs
Script
githubFollowers
eagle251
githubFollowers
An interactive, runnable TypeScript val by eagle251
Script
topHNThreadByHour
elsif_maj
topHNThreadByHour
// set at Thu Nov 30 2023 14:22:53 GMT+0000 (Coordinated Universal Time)
Email
codeOnValTown
andreterron
codeOnValTown
Code on Val Town Adds a "Code on Val Town" ribbon to your page. This lets your website visitors navigate to the code behind it. This uses github-fork-ribbon-css under the hood. Usage Here are 2 different ways to add the "Code on Val Town" ribbon: 1. Wrap your fetch handler (recommended) import { modifyFetchHandler } from "https://esm.town/v/andreterron/codeOnValTown?v=50"; import { html } from "https://esm.town/v/stevekrouse/html?v=5"; export default modifyFetchHandler(async (req: Request): Promise<Response> => { return html(`<h2>Hello world!</h2>`); }); Example: @andreterron/openable_handler 2. Wrap your HTML string import { modifyHtmlString } from "https://esm.town/v/andreterron/codeOnValTown?v=50"; import { html } from "https://esm.town/v/stevekrouse/html?v=5"; export default async (req: Request): Promise<Response> => { return html(modifyHtmlString(`<h2>Hello world!</h2>`)); }; Example: @andreterron/openable_html Other ways We made sure this was very modular, so you can also add the ribbon using these methods: Get the element string directly: @andreterron/codeOnVT_ribbonElement Modify an HTTP Response: @andreterron/codeOnVT_modifyResponse Use .pipeThrough to append to a stream: @andreterron/InjectCodeOnValTownStream Customization Linking to the val These functions infer the val using the call stack or the request URL. If the inference isn't working, or if you want to ensure it links to a specific val, pass the val argument: modifyFetchHandler(handler, {val: { handle: "andre", name: "foo" }}) modifyHtmlString("<html>...", {val: { handle: "andre", name: "foo" }}) Styling You can set the style parameter to a css string to customize the ribbon. Check out github-fork-ribbon-css to learn more about how to style the element. modifyFetchHandler(handler, {style: ".github-fork-ribbon:before { background-color: #333; }"}) modifyHtmlString("<html>...", {style: ".github-fork-ribbon:before { background-color: #333; }"}) Here's how you can hide the ribbon on small screens: modifyFetchHandler(handler, {style: `@media (max-width: 768px) { .github-fork-ribbon { display: none !important; } }`}) To-dos [ ] Let users customize the ribbon. Some ideas are the text, color or placement.
Script
githubUser
feb
githubUser
An interactive, runnable TypeScript val by feb
Script
githubFollowers
maxmix
githubFollowers
An interactive, runnable TypeScript val by maxmix
Script
githubEvents
dr0
githubEvents
An interactive, runnable TypeScript val by dr0
Script
githubUser
mbforbes
githubUser
An interactive, runnable TypeScript val by mbforbes
Script