Crystal

awesome-crystal

Awesome Crystal

Awesome Build Status

精选的Crystal代码和资源的精选列表. 受启发 awesomeawesome-awesomeness. 目标是使项目对于社区而言大部分是稳定且有用的.

Search Crystal Shards 或关注公告[Crystal [ANN]](https://crystal-ann.com)以获得更多信息.

欢迎捐款. 请快速浏览一下 contribution guidelines 第一.

Algorithms and Data structures

Api Builders

Blockchain

C bindings

Caching

CLI Builders

  • admiral -用于编写命令行界面的强大DSL
  • cli -用于构建命令行界面应用程序的库
  • clicr -一个简单的声明性命令行界面生成器
  • clim -苗条的命令行界面构建器
  • commander -命令行界面构建器
  • completion -简单的命令行完成引擎
  • optarg -另一个用于解析命令行选项和参数的库
  • OptionParser -命令行选项处理(Crystal stdlib)
  • Phreak -采用OptionParser风格的高度灵活的Crystal CLI构建器

CLI Utils

  • cride -轻量级的CLI文本编辑器/ IDE
  • oq -高性能,可移植的jq包装器,以方便使用和输出JSON以外的其他格式; 使用 jq 过滤器以转换数据.
  • progress_bar.cr -一个简单且可自定义的进度条
  • tablo -灵活的终端表生成器
  • tallboy -生成支持跨多个列的单元格的ASCII字符表
  • terminal_table.cr -简单的ASCII表生成器
  • terminimal -用于构建人类终端应用程序的小型CLI工具包
  • todo -待办事项列表在命令行中工作

Code Analysis and Metrics

  • ameba -静态代码分析工具

Compression

  • brotli.cr -绑定到Google brotli压缩库
  • Crystar -Tar存档格式的读者和作家
  • Gzip -gzip格式的读者(Crystal stdlib)
  • snappy -用于Crystal的Snappy压缩格式读取器/写入器
  • xz -绑定到xz(lzma)压缩库
  • Zip -zip格式的读者(Crystal stdlib)
  • Zlib -zlib格式的读者(Crystal stdlib)
  • zstd.cr -的绑定 Zstandard 压缩库

Configuration

  • cr-dotenv -加载.env文件
  • envyable -一个简单的YAML到ENV配置加载程序
  • habitat -为您的类和模块输入安全配置
  • totem -加载和解析JSON,YAML,dotenv格式的配置

Converters

  • base62.cr -Base62编码器/解码器,非常适合网址缩短
  • money -轻松处理货币和货币转换(几乎完整的端口) RubyMoney)
  • ms -可以轻松将各种时间格式转换为毫秒和将人类可读格式转换为毫秒的库
  • sass.cr -将SASS / SCSS编译为CSS(libsass 捆绑)
  • time_format.cr -轻松转换为人类可读格式的时间
  • turkish-number -将整数转换为土耳其语单词
  • wkhtmltopdf-crystal -libwkhtmltox的绑定/包装(HTML到PDF /图像转换器)

Cryptography

Data Formats

  • BinData -二进制数据解析器帮助程序,带有 ASN.1 解析器
  • config.cr -易于使用的配置格式解析器
  • crinder -基于类的json渲染器
  • CSV -解析并生成逗号分隔的值(Crystal stdlib)
  • front_matter.cr -将文件开头的内容与其内容分开
  • geoip2.cr -GeoIP2阅读器
  • INI -此文件解析器(Crystal stdlib)
  • JSON -解析和生成JSON文档(Crystal stdlib)
  • JSON tools -JSON补丁和指针RFC的实现
  • maxminddb.cr -MaxMindDB阅读器
  • toml.cr -TOML解析器
  • XML -解析和生成XML文档(Crystal stdlib)
  • YAML -解析和生成YAML文档(Crystal stdlib)
  • zq -命令行ZPL处理器

Data Generators

  • faker -用于生成假数据的库
  • hashids.cr -一个库,可从一个或多个数字生成类似YouTube的ID

Database Drivers/Clients

Database Tools

  • migrate -具有事务的更简单的数据库迁移工具
  • migro -数据库迁移工具,允许在YAML或原始SQL中指定迁移

Debugging

  • debug.cr -pp!-style调试的debug!(…)`宏

Dependency Injection

  • Crystal-DI -轻巧的DI容器
  • syringe -用于晶体的简单且基本的依赖注入碎片

Development Tools

  • guardian -适用于Crystal和非Crystal库的文件更改监视程序
  • kemal-watcher -Kemal插件,可观看文件并实时重新加载浏览器
  • sentry -监视src文件,在文件更改时重建/重新运行应用程序
  • sentry-run -使用Sentry.run重新加载代码更改
  • Warden -监视文件,运行命令和git命令(如果文件更改成功)
  • watcher -使用File.stat监视文件更改

Email

Environment Management

Examples and funny stuff

Feature Flipping

  • can_use -这是基于Yaml的水晶的极简功能切换/标志
  • flipper -功能翻转/标记/展开. 支持多个后端

Framework Components

Game Development

GUI library

HTML Builders

  • form_builder.cr -适用于Crystal的简单HTML表单生成器,具有对许多流行的UI库(例如Bootstrap)的内置支持
  • html_builder -用于创建HTML的DSL

HTML/XML Parsing

  • gumbo-crystal -的绑定 Gumbo,由Google制作的HTML5解析库
  • hq.cr -crystal-xml的简单包装
  • myhtml -包含CSS选择器的快速HTML5解析器

HTTP

Image processing

Implementations/Compilers

  • charly -查理编程语言
  • cltk -Ruby语言工具包的水晶端口
  • cppize -水晶到C ++编译器
  • crisp -用Crystal实现的Lisp方言
  • crow -转换/编译晶体 Flow
  • LinCAS-lang -用于科学计算的编程语言
  • mint-lang -用于前端Web的令人耳目一新的编程语言
  • myst-lang -一种实用,动态的语言,旨在尽可能轻松高效地进行书写和理解
  • runic-lang -设计玩具语言

Logging and monitoring

Machine Learning

Markdown/Text Processors

  • html-pipeline -HTML处理过滤器和实用程序
  • markd -符合CommonMark规范的另一个降价解析器,旨在提高速度

Misc

Network Protocols

Networking

ORM/ODM Extensions

  • avram -用于读取,写入和迁移Postgres数据库的数据库包装器.
  • clear -ORM仅适用于PostgreSQL,但具有高级功能
  • crecto -基于Ecto的数据库包装器
  • granite -适用于Postgres,Mysql,Sqlite的ORM
  • jennifer.cr -通过灵活的查询可链接构建器和迁移系统实现Active Record模式
  • ohm-crystal -Redis的对象哈希映射库
  • onyx-sql -与DB无关的SQL ORM,具有漂亮的DSL和类型安全的查询生成器
  • redis-tsv.cr -从Redis导入和导出TSV格式的数据
  • rethinkdb-orm -RethinkDB / RebirthDB的ORM
  • stal-crystal -为Redis设置代数求解器
  • topaz -一个简单而有用的数据库包装器

Package Management

  • CRelease -版本和git标签管理器,使分片发布变得容易
  • shards -Crystal的依赖管理器

Processes and Threads

  • await_async -在Crystal Lang中添加关键字await和async
  • crystal-futures -未来的类型实施
  • neph -可以同时执行作业的现代命令行作业处理器
  • promise -带有类型推断的Promise实现

Project Generators

  • bindgencr -基于castxml输出的绑定生成器
  • crystal_lib -用于本机库的自动绑定生成器
  • fez -凯末尔应用程序生成器
  • kgen -Kemalyst命令行工具,用于控制台,init,生成(脚手架)和监视.
  • libgen -使用JSON / YAML文件配置的自动绑定生成器
  • wasp -静态网站生成器

Queues and Messaging

Routing

  • orion -最小的Rails式路由库
  • router.cr -用于HTTP :: Server的最小但功能强大的http路由器
  • toro -面向树的路由

Scheduling

  • cron_scheduler -具有crontab模式的Job Scheduler
  • crystime -高级时间,日历,日程表和提醒库
  • schedule.cr -运行定期任务
  • tasker -包括时区感知的cron作业在内的高精度调度程序

Science and Data analysis

  • bottle -支持N维数据的数值计算库
  • linalg -受MATLAB和SciPy.linalg启发的线性代数库
  • predict.cr -使用sgp4模型的卫星预测库
  • stats -统计分布的表达方式
  • hermes -ElastiSearch的数据映射器模式实现
  • query-builder -SQL查询生成器库
  • query.cr -查询抽象
  • soegen -Crystal的Elasticsearch客户端类似于红宝石的担架宝石

Serverless Computing

  • crystal_openfaas -使Crystal成为OpenFaaS中一流公民的模板
  • FaaStRuby -用于Ruby和Crystal的无服务器软件开发平台.
  • gcf.cr -在Google Cloud Functions中管理Crystal的执行

System

  • baked_file_system -虚拟文件系统的实现
  • hardware -获取正在运行的操作系统及其进程的CPU,内存和网络信息

Task management

  • cake -生产就绪的Make-like实用工具
  • sam -另一个具有名称间隔和参数系统的类似Rake的任务管理器

Template Engine

Testing

Third-party APIs

Validation

  • accord -水晶对象的共享验证库
  • assert -基于可扩展注释的对象验证库
  • denetmen -修补Crystal stdlib的微型检查库
  • validations - Validations mixin

Web Frameworks

  • amber -开源高效,凝聚力的Web应用程序框架
  • athena -具有内置参数转换功能的模块化,基于注释的,面向API的框架
  • kemal -快速,超级简单的Web框架. 受Sinatra启发
  • lattice-core -一个WebSocket优先的面向对象框架(基于Kemal)
  • lucky -尽早发现错误,忘记大多数性能问题,并花更多时间在代码上,而不是调试和编写测试
  • spider-gazelle -注重速度和可扩展性的Rails式Web框架

Web Servers

  • fast-http-server -超快速,零配置命令行HTTP Server
  • prax.cr -用于开发的机架代理服务器
  • serve -命令行静态HTTP服务器

Community

Unofficial

Resources

Official Documentation Translations

Services and Apps

  • carc.in -运行您的代码并显示结果的Web服务
  • cry -能够以类似于Ruby撬式编辑的方式执行水晶代码
  • [Crystal [ANN]](https://crystal-ann.com)-宣布新项目,博客文章,版本更新或任何其他Crystal作品
  • crystalshards.herokuapp.com, crystalshards.xyz -列出所有可用Crystal碎片的Web服务
  • Crystular -正则表达式测试仪
  • DeBot -用Crystal编写的IRC机器人
  • Fluence -使用markdown和Git的WYSIWYG Wiki
  • icr -Crystal的交互式控制台(如Ruby的IRB)
  • Invidious -Invidious是YouTube的替代前端
  • mpngin -具有简单统计信息的网址缩短器
  • nes -NES模拟器
  • quicktype -从JSON,JSON Schema,GraphQL和TypeScript生成模型和序列化器
  • shards.info -Web服务,列出GitHub中所有包含Crystal代码的存储库. 来源可在 GitHub
  • wikicr -使用git管理修订版的Wiki

Tools

DevOps

Editor Plugins

原子 * crystal-tools -启用Crystal编译器中的内置工具 * language-crystal-actual -Atom中的Crystal语言支持 埃马克斯 * emacs-crystal-mode -对Emacs的Crystal语言支持 * play-crystal.el - play.crystal-lang.org 集成在Emacs中 * scry -用于Crystal实现代码分析的代码分析服务器 Language Server Protocol * Spacemacs * crystal-spacemacs-layer -Crystal的Spacemacs贡献层 崇高 * sublime-crystal -Sublime Text的Crystal语法高亮 * TextMate * Crystal.tmbundle -Crystal语法高亮显示,编译,格式化命令,摘要 我来了 * vim-crystal -对Crystal的Vim文件类型支持 * vim-slang -对Slang模板引擎的Vim文件类型支持 * Visual Studio代码 * vscode-crystal -VSCode中的Crystal语言支持 * vscode-crystal-ide -搭载的Crystal IDE Language Server Protocol * vscode-crystal-lang -crecr文件的格式化程序,linter和语法突出显示

Shell plugins