首页
/ Gist 项目技术文档

Gist 项目技术文档

2024-12-23 21:21:22作者:温玫谨Lighthearted

1. 安装指南

1.1 使用 Ruby 安装

如果你已经安装了 Ruby,可以通过以下命令安装 gist

gem install gist

1.2 使用 Bundler 安装

如果你使用 Bundler,可以在 Gemfile 中添加以下内容:

source :rubygems
gem 'gist'

1.3 使用 Homebrew 安装(适用于 OS X)

在 OS X 上,可以通过 Homebrew 安装 gist

brew install gist

1.4 使用 FreeBSD 安装

在 FreeBSD 上,可以通过 ports 安装 gist

pkg install gist

1.5 使用 Ubuntu/Debian 安装

在 Ubuntu/Debian 上,可以通过以下命令安装 gist

apt install gist

注意:Debian 将二进制文件重命名为 gist-paste 以避免名称冲突。

2. 项目的使用说明

2.1 上传文件

要上传 a.rb 文件的内容,只需运行:

gist a.rb

2.2 上传多个文件

可以上传多个文件,例如:

gist a b c
gist *.rb

2.3 从标准输入读取内容

默认情况下,gist 从标准输入读取内容,并可以使用 -f 选项设置文件名:

gist -f test.rb <a.rb

2.4 从剪贴板粘贴内容

可以使用 -P 选项从剪贴板粘贴内容:

gist -P

2.5 创建私有 Gist

使用 -p 选项创建私有 Gist:

gist -p a.rb

2.6 添加描述

使用 -d 选项为 Gist 添加描述:

gist -d "Random rbx bug" a.rb

2.7 更新现有 Gist

可以使用 -u 选项更新现有 Gist:

gist -u GIST_ID FILE_NAME
gist -u 42f2c239d2eb57299408 test.txt

2.8 复制 URL 到剪贴板

使用 -c 选项将生成的 URL 复制到剪贴板:

gist -c <a.rb

2.9 打开浏览器

使用 -o 选项直接在浏览器中打开 Gist:

gist -o <a.rb

2.10 列出 Gist

可以列出用户的 Gist:

gist -l : 列出已认证用户的所有 Gist
gist -l defunkt : 列出 defunkt 的公开 Gist

2.11 读取 Gist

可以读取 Gist 并将其内容打印到标准输出:

gist -r GIST_ID
gist -r 374130

3. 项目API使用文档

3.1 使用 Gist 作为库

你可以在 Ruby 代码中使用 Gist 作为库:

Gist.gist("Look.at(:my => 'awesome').code")

3.2 高级功能

你可以传递以下参数以实现更高级的功能:

  • :access_token:使用 OAuth2 进行身份验证(默认读取 ~/.gist 文件)。
  • :filename:更改语法高亮(默认是 a.rb)。
  • :public:如果你想让 Gist 的 URL 可猜测。
  • :description:为 Gist 添加描述。
  • :update:更新现有 Gist(可以是 URL 或 ID)。
  • :copy:将生成的 URL 复制到剪贴板(默认是 false)。
  • :open:在浏览器中打开生成的 URL(默认是 false)。

3.3 上传多个文件

你可以上传多个文件到同一个 Gist:

Gist.multi_gist("a.rb" => "Foo.bar", "a.py" => "Foo.bar")

3.4 强制用户获取 OAuth2 令牌

你可以强制用户获取 OAuth2 令牌并存储在 ~/.gist 文件中:

Gist.login!

4. 项目安装方式

4.1 登录

在使用 gist 之前,你需要登录。支持两种登录流程:

  1. Github 设备代码 OAuth 流程:这是默认的身份验证方式,适用于 github.com。
  2. 用户名和密码令牌交换流程:这是 GitHub Enterprise 的默认方式,但已被 GitHub 弃用。

4.2 设备代码流程

此流程允许你在浏览器中登录 GitHub 并输入验证码以获取令牌:

gist --login

4.3 用户名-密码流程

此流程要求你输入 GitHub 用户名和密码(以及 2FA 代码),并将其交换为具有 "gist" 权限的令牌:

gist --login

4.4 GitHub Enterprise

如果你想让 gist 使用本地安装的 GitHub Enterprise,需要导出 GITHUB_URL 环境变量:

export GITHUB_URL=http://github.internal.example.com/

4.5 令牌文件格式

如果你无法使用密码,可以通过 Web 界面生成令牌并将其保存到正确的文件中。避免换行符,否则可能会看到 Bad credentials 错误。

登录后查看全文
热门项目推荐

项目优选

收起
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
117
1.88 K
kernelkernel
deepin linux kernel
C
22
6
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
192
271
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
911
543
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
341
1.21 K
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
143
188
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
377
388
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
64
58
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.1 K
0