如何看待 Github Gist 這個服務,怎樣更好的利用?

http://gist.github.com 是一個有趣的服務,最簡單的功能就是分享代碼片段,但是gist提供的功能不僅限於此。

  • gist提供了包括markdown語法在內的大多數「寫作風格」
  • gist具有版本管理功能
  • gist還可以無限制的創建私有的代碼片段
  • gist隨同github提供了api開發介面,可以在本地創建gist
  • ……

但是我並沒有找到更多關於gist的介紹,具備這些特性之後,gist的用途有更多的空間,比如私有的雲筆記服務等……

如何看待gist服務的定位?


Github作為代碼分享平台在開發者中非常流行。此平台託管了包括遊戲、書籍以至於字體在內的一千兩百多萬個項目(現在更多),這使其成為互聯網上最大的代碼庫。

Github還提供另一個非常有用的功能,這就是Gist。


發人員常常使用Gist記錄他們的代碼片段,但是Gist不僅僅是為極客和碼農開發的,每個人都可以用到它。如果您聽說過類似Pastebin或者
Pastie這樣的web應用的話,那您就可以看到它們和Gist很像,但是Gist比它們要更優雅。因為這些免費應用一般含有廣告,而且帶有很多其他雜
七雜八的功能。

Gist - 任何人都能用得著

如果您不是極客您可以按照如下方式使用Gist:

1. 匿名張貼

您不需要擁有Github賬號就可以使用Gist。用瀏覽器打開http://gist.github.com,在窗口中寫下你想說的就可以創建一個Gist。您可以發布一個私密的Gist,也就是說這個Gist將不能被他人搜索到而只對直接在瀏覽器中輸入其URL的人可見。

2. 能像wiki一樣記錄歷史

如果您修改了已經發布了的Gist的話,之前的所有版本都將被保存。您可以點擊Revisions按鈕按時間瀏覽,而且您可以通過內置的diff引擎查看任意兩個版本間的差異。 這也可以用於比較文本文件。

3. 發布富文本內容

雖然Gist只能用純文本來寫,但是您可以用markdown來發布html格式的Gist。您可以添加列表、圖片(已有圖床上的)和表格。當您用markdown的時候不要忘了文件名要以.md為後綴。

4. 把Gist當作一個寫作平台

雖然現在有很多寫作引擎,比如Blogger、Medium、Tumblr,但您還可以用Gist來快速發布您的作品。您可以用純文本或者markdown等文檔標記語言些一個Gist然後用http://roughdraft.io來把它作為一個獨立的網頁發布。

5. 託管gist上的單個頁面

Bl.ocks 是一個非常有趣的專為Gist開發的應用。

您可以用純文本把HTML、CSS、JavaScript代碼寫下來以index.html為文件名保存為Gist,然後用http://bl.ocks.org把渲染好的結果在瀏覽器中展示出來。比如,這個gist展示出來就是這樣。

顯然寬頻限制是一個問題,但是http://bl.ock.org作為一個通過Gist託管HTML的工具仍然是相當不錯的。 當然您也可以用Google Drive。

6. 製作任務列表

您可以用Gist跟蹤待處理任務(舉個栗子)。這是用純文本的特殊語法寫的但是你可以任意勾選。

- [x] Pick the flowers

- [ ] Call John 9303032332

- [x] Cancel cable subscription

- [ ] Book the flight tickets

您可以勾選或者勾去任意選項,源文本將會自動變更。如果您的Gist是公有的的話,任何人都可以看到您的列表,但是只有您(擁有者)可以改變其勾選狀態。

備註:其實任務列表也可以在issue中建立,所有擁有寫許可權的人都可以uncheck/check。

7. 把Gist作為一個網頁收藏夾

在Chrome瀏覽器您可以找到一個叫GistBox的插件,通過這個插件您可以在瀏覽網頁時選擇保存網頁內容為Gist。您甚至可以添加標註或者話題標籤以易於以後更容易找到它們。

8. 把Gist嵌入網頁中

您用一行js代碼就可以把任何一條Gist嵌入到網頁中。嵌入的Gist格式不發生任何變化,而且訪問者可以非常方便的把它們fork到他們的Github中。要嵌入wordpress的話有這個插件和這個短代碼可以使用。

9. 測量訪問量

您可以使用Google Analytics查看您的Gist的訪問量。因為Gist純文本中不允許運行js代碼,所以我們可以用GA Beacon來記錄實時訪問Gist的情況。

把如下代碼添加到Gist中,用markdown格式保存,這樣就在這個Gist中添加了一個透明追蹤圖像了。

![Analytics](https://ga-beacon.appspot.com/UA-XXXXX-X/gist-id?pixel)

10. 在桌面端管理Gist

Gisto是一個能讓您在瀏覽器之外管理Gist的桌面應用。您可以對Gist進行搜索、編輯、查看歷史和分享。 此應用可運行於蘋果、微軟和linux系統。 當然您也可以用GistBox這個web應用替代它。

您是不是對Gist有了一個全新的認識呢?

【翻譯來源】:Github Gist Tutorial

【聲明】:Gist一直可用


ping http://gist.github.com

0 received, 100% packet loss


從碼農的習性我補充一點

11. 在編輯器中使用 gist

大部分時間都在編輯器或者 IDE 上寫代碼(博客/書),大多數的編輯器都有插件或者直接集成 gist,所以除了 @章樂 說的 1,2,3,4,5,6點之外,答主通常也會在用編輯器寫/看代碼時順手將有意思的代碼放到 gist 上,或者踩到坑是順手就寫個 protip 放到 gist 上(gist 在google搜索的 rank出奇的高)

下列是我常用的編輯器和插件們

1. emacs - defunkt/gist.el · GitHub

2. atom - jcouyang/glist · GitHub (答主自己寫的)

3. Jetbrain - 自帶


@章樂 回答中的7、10兩條提到了gistbox,而我剛接觸gist和gistbox,肥腸喜歡,想展開講一下:

------

GitHub提供的Gist服務簡直是**保存代碼段的神器**!可以把gist當做一個小型倉庫,具有版本控制,markdown。從網上的搜索的結果來看,好像在10年就推出了這項服務,真是知道的太晚了!請允許我大呼**『工具改變生活!』『工具改變程序員的生活!』**

項目中會有很多情況下可以直接復用以前寫好的代碼,之前是怎麼保存並查找這些代碼片段呢?我基本上是憑著記憶翻之前的工程然後拷貝,或者保存代碼文件到雲筆記中。**效率肥腸低**。

目前Gist提供搜索服務,但使用仍然不便,比如沒有標籤,也就沒法子便捷地管理。但是存在一款 web app,名叫 GistBox(英雄並不總是孤獨的)。在了解gistbox以下幾個特性之後,你肯定會愛上它(分分鐘上手,肥腸懂你)!

- web app 跨平台,只要有瀏覽器就可以;

- 它提供**標籤管理**功能;

- 點擊一下『copy』就可以拷走代碼段;

- 它的chrome瀏覽器插件(GistBox Clipper)提供了**3種便捷方式**,可以在當前的網頁上彈出『新建一條gist』的編輯對話框,使你免於登陸web app:

- **自動識別網頁中的代碼段**,會在代碼段右上角顯示gistbox logo,點擊它;

- 選中網頁中的文本,右鍵彈出的菜單中,點擊「save as gist」;

- 直接點擊位於chrome導航欄上的 gistbox 按鈕;

下面的截圖來自官網。

gistbox使管理、添加、使用gist(代碼段)變得肥腸容易(前提是利用好搜索、定義好標籤),長時間積累必定受益匪淺。

當然除了保存代碼段之外,可以在gist保存你想保存的任何東西,比如技術總結、填過的坑。但是感覺保存代碼段才能體現它的優勢。

------

- 官方說明:[GitHub - About gists](About gists - User Documentation)

&> Gists are a great way to share your work. You can share single files, parts of files, or full applications. You can access gists at https://gist.github.com.

&> Every gist is a Git repository, which means that it can be forked, cloned, and manipulated in every way.

- [GixBox 官網](GistBox - The Beautiful Way to Organize Code Snippets)

- [Here"s a quick tutorial on how to save code snippets with the extension](GistBox - The Beautiful Way to Organize Code Snippets)


謝邀,在我看來,gitst其實就是一個有特殊界面的github repository而已,最多就是給了部分私有respotiory的功能。

所以:

1. markdown,版本管理,代碼片段之類的都是repositorie自帶的福利

2. 私有雲筆記之類的,看個人習慣吧。


推薦一下自己寫的基於Electron的Gist desktop client —— Lepton。得益於Electron框架,Lepton可以在Windows、macOS和Linux下使用。項目在GitHub上開源 (超過2000 stars),歡迎提Issue或PR。

hackjutsu/Lepton

Lepton的最大優勢是開源……


有一個教學視頻,教 Sublime Text 的,其中一集叫作 Sexy-Code-Snippet-Management-With-Gists。

即通過 Sublime Text 文本編輯器的一個插件,可以實現直接在編輯器中提交代碼片段、獲取代碼片段。

視頻製作方地址:Sexy Code Snippet Management With Gists

優酷地址:Sexy Code Snippet Management With Gists

youtube 地址:https://www.youtube.com/watch?v=3cdkYdzgXLc


VS CODE 的一個插件 Settings Sync,巧妙地利用 gist 來存儲VS CODE的個人設置,可以上傳或下載個人配置,使得在不同設備上使用VS CODE時不用重複設置,可以直接同步。

Settings Sync的地址如下:

Settings Sync - Visual Studio Marketplace

我想,以後或許很多軟體設置可以採取這種文本保存的方式,畢竟,每次下載新軟體後我們都必須把軟體的常用設置設置成自己喜歡的樣式,勾選掉廣告選項什麼的,對於需要更換電腦或重裝系統的人來說,各種各樣的軟體和環境配置都是極大的麻煩。


保存代碼片段唄。

咦,又 timeout 了,日了狗了。


推薦一個叫gisto的應用 管理gist很方便

Gisto - Manage your github gists on desktop


我今天才發現gist不能用,必須fq


In China, ping bi It


推薦閱讀:

有哪些遊戲引擎的源碼值得一讀?
GitHub 上有哪些前端牛人值得關注?同時請推薦些 GitHub 上前端架構類開源項目?
有哪些需要捐款的開源項目?
值得看的Python的開源項目有哪些?

TAG:互聯網產品 | 開源項目 | GitHub | gist |