这里是按照「分类」阅读往期的 HelloGitHub 月刊内容, 您目前在查看 HelloGitHub JavaScript 项目 集合。
免费、高颜值的白噪音网站。这是一个有助于专注与放松的听觉网站,无需注册完全免费。它界面简洁、操作方便,内置 75 种白噪音,用户可根据个人喜好自由选择与组合,找到适合自己的声音环境。同时,Moodist 还支持定时关闭、番茄时钟、快捷键等功能。

开发 Roguelike 游戏的 JavaScript 工具包。这是一个无依赖的 JavaScript 库,专为开发 Roguelike(肉鸽)游戏而设计,包含地图生成、随机数生成、路径寻找、按键处理和照明等多个模块。

将字符串转化成 URL 友好的 JS 库。该项目是用于将字符串转换为适合在 URL 中使用的格式,输出由小写字母、数字和短横线组成的字符串,不含空格和特殊字符,这种格式有助于搜索引擎优化(SEO)。
var slugify = require('slugify') slugify('some string') // some-string // if you prefer something other than '-' as separator slugify('some string', '_') // some_string
基于 Astro 的一站式文档解决方案。该项目是基于 Astro 框架打造的文档主题,可用于快速搭建和部署文档网站。它界面美观、开箱即用、访问速度快,支持网站导航、搜索、国际化、SEO 和各种插件。

企业级的问卷调研平台。这是一款免费且专业的调研系统,旨在为个人和企业提供一站式产品级的调研解决方案。它前后端均已开源,并支持 Docker 一键部署,内置了多种题型和模版,支持逻辑编排、自定义品牌、权限管理、数据分析以及 AI 生成问卷等功能,可用于创建问卷、考试、测评和复杂表单。

打造现代化网页播放器界面的组件库。这是一个用于定制网页音频和视频播放器界面的库,兼容各种 JavaScript 框架。它高度可定制,开发者可以轻松调整组件的外观和功能,支持字幕、投屏、快捷键、倍速、预览缩略图、移动端和静音按钮等功能。
<media-controller audio> <audio slot="media" src="xxxxxx" ></audio> <media-control-bar> <media-play-button></media-play-button> <media-time-display showduration></media-time-display> <media-time-range></media-time-range> <media-playback-rate-button></media-playback-rate-button> <media-mute-button></media-mute-button> <media-volume-range></media-volume-range> </media-control-bar> </media-controller>

灵活高效的 Node.js 线程池。该项目是用 TypeScript 编写的高性能 Node Worker 线程池,旨在简化 Node.js 多线程编程。它提供简单易用的 API,支持线程间通信、动态调整线程池大小、取消任务、设置内存限制和异步任务跟踪等功能。
const path = require('path'); const Piscina = require('piscina'); const piscina = new Piscina({ filename: path.resolve(__dirname, 'worker.js') }); (async function() { const result = await piscina.run({ a: 4, b: 6 }); console.log(result); // Prints 10 })();
轻松实现拖动交换布局的库。该项目可以将任意布局转换为可拖动交换的形式,仅需几行代码即可实现。它支持设置交互动画,可以在 React、Vue、Svelte 等框架中使用,适用于各种需要交互式布局的场景。
import { createSwapy } from 'swapy' const container = document.querySelector('.container') const swapy = createSwapy(container, { animation: 'dynamic' // or spring or none }) // You can disable and enable it anytime you want swapy.enable(true)


