Git
GitHub
ATOM
apm

Atomでパッケージを公開・更新する

自分がAtomでパッケージを公開・更新するまでにした操作を書き並べた記事です。

環境

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.13.6
BuildVersion:   17G65
$ atom -v
Atom    : 1.29.0
Electron: 2.0.5
Chrome  : 61.0.3163.100
Node    : 8.9.3

GitHubの準備

アカウントの情報

settings → Emails の ☑️ Keep my email address private でダミーメアドを用意

  • user名:horyu
  • ダミーメアド:horyu@users.noreply.github.com

新しいリポジトリの作成

ファイルがあると手間が増えたので、以下の設定で作成

  • ☑️ Public
  • Aadd .gitignore : None
  • Add a license : None
  • Repository name:latex-itemizer

gitの準備

$ git --version
git version 2.13.6 (Apple Git-96)

~/.gitconfigへ設定

$ git config --global user.name "horyu"
$ git config --global user.email "horyu@users.noreply.github.com"

Atomでパッケージの作成

参考:前の記事
/Users/aaaa/github/latex-itemizerにパッケージを作ったとします。

パッケージの公開

$ cd /Users/aaaa/github/latex-itemizer
# 前の記事のGIF(demo.gif)をこのディレクトリに持ってくる
  • README.mdの作成
README.md
# latex-itemizer

For latex-itemizer

## Usage

| Command Name                   | Key Binding               |
|--------------------------------|---------------------------|
| latex-itemizer:newline-item    | ```Alt         + Enter``` |
| latex-itemizer:newline-itemize | ```Alt + Shift + Enter``` |


## Demo

![demo](demo.gif)

## Installation

Install from the Atom Package manager or the command line:

```$ apm install latex-itemizer```

  • package.jsonの更新
package.json
-  "repository": "https://github.com/atom/latex-itemizer",
+  "repository": "https://github.com/horyu/latex-itemizer",
  • 現在の構成
$ tree
.
|-- README.md
|-- demo.gif
|-- keymaps
|   `-- latex-itemizer.cson
|-- lib
|   `-- latex-itemizer.coffee
`-- package.json
  • リモートリポジトリに反映させる
$ git init
Initialized empty Git repository in /Users/aaaa/github/latex-itemizer/.git/
$ git add -A
$ git commit -m "first commit"
[master (root-commit) 20fa3a4] first commit
 6 files changed, 85 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 README.md
 create mode 100644 demo.gif
 create mode 100644 keymaps/latex-itemizer.cson
 create mode 100644 lib/latex-itemizer.coffee
 create mode 100644 package.json
$ git remote add origin https://github.com/horyu/latex-itemizer.git
$ git push -u origin master
Counting objects: 10, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (10/10), 52.67 KiB | 13.17 MiB/s, done.
Total 10 (delta 0), reused 0 (delta 0)
To https://github.com/horyu/latex-itemizer.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.
  • パッケージを登録する
# publishする時、アカウント情報の入力を省略するため apm login しておく
$ apm login
Welcome to Atom!

Before you can publish packages, you’ll need an API token.

Visit your account page on Atom.io https://atom.io/account,
copy the token and paste it below when prompted.

Press [Enter] to open your account page on Atom.io. # [Enter]でブラウザを開く
Token> # ブラウザのトークンをここにペーストして[Enter]
Saving token to Keychain ✓

# apm publish は major/minor/patch のいずれか
$ apm publish patch
Registering latex-itemizer ✓
Preparing and tagging a new version ✓
Pushing v0.0.1 tag ✓
Publishing latex-itemizer@v0.0.1 ✓
Congrats on publishing a new package! 👍  📦  🎉
Check it out at https://atom.io/packages/latex-itemizer

  • 別環境からチェック

スクショ.png
スクショ2.png

  • demo.gifは表示できてないけど、インストールできて動いた

パッケージの更新

  • 他のパッケージを眺めていると、GIFの表示はリモートリポジトリのファイルにリンクすれば読み込めるらしい
README.md
- ![demo](demo.gif)
+ ![demo](https://raw.githubusercontent.com/horyu/latex-itemizer/master/demo.gif)
  • リモートリポジトリに反映させる
$ git add -A
$ git commit -m "update README.md"
[master 56bc9a9] update README.md
 1 file changed, 1 insertion(+), 1 deletion(-)
$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 362 bytes | 362.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/horyu/latex-itemizer.git
   0611822..56bc9a9  master -> master
  • apmで更新する
$ apm publish patch
Preparing and tagging a new version ✓
Pushing v0.0.2 tag ✓
Publishing latex-itemizer@v0.0.2 ✓
  • さっきの別環境はキャッシュが残っていたのか正しく表示できなかったが、さらに別の環境で見たら読み込めていた

ライセンスの追加

Atomのパッケージ画面でView on Atom.ioをクリックしたページのLicensepackage.jsonに飛ばされるのは味気ない(package.jsonには"license": "MIT"と書いてある)&& リポジトリにLICENSEがないので追加する。

GitHubで後からライセンスを指定する方法を参考に、ブラウザ上で操作する。

$ git pull
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/horyu/latex-itemizer
   56bc9a9..ec8c313  master     -> origin/master
Updating 3d9002d..ec8c313
Fast-forward
 LICENSE | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 LICENSE
$ apm publish patch
Preparing and tagging a new version ✓
Pushing v0.0.3 tag ✓
Publishing latex-itemizer@v0.0.3 ✓

View on Atom.ioLicenseでリモートリポジトリのLicenseに移動するようになった。