gsm-sources-manager 1.0.0.beta1 → 1.0.0.beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/_config.yml +1 -0
- data/exe/gsm +135 -102
- data/gsm.gemspec +1 -1
- data/lib/gsm/version.rb +1 -1
- metadata +9 -16
- data/docs/.gitignore +0 -1
- data/docs/_config.yml +0 -1
- data/docs/_data/changelog.yml +0 -26
- data/docs/_data/index.yml +0 -99
- data/docs/_layouts/default.html +0 -44
- data/docs/css/style.css +0 -190
- data/docs/image/gsm.png +0 -0
- data/docs/index.html +0 -109
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7221123739008d756b8a30ab6be143be519c1c9b
|
4
|
+
data.tar.gz: 04d83d084b05d18e12c5096c665bab0feeedda38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f63911e110bd4f054f77826bf87af717593630e681d08abb5f39b599f6eb1767c1c72f1400405667c93781ae8d44c77c4f974dc99ad911a2a0002fb3bc0534c8
|
7
|
+
data.tar.gz: 8cf238fae6bbaeec4133d767abe06e57eab8486f3173cc8bcb446ef79a5fcdc4bd568fa69eee45a0706176f223338bc05c9cf6f6a26bff3c3f6379d4b353888a
|
data/.travis.yml
CHANGED
data/_config.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
theme: jekyll-theme-minimal
|
data/exe/gsm
CHANGED
@@ -3,142 +3,175 @@
|
|
3
3
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), *%w(.. lib)))
|
4
4
|
|
5
5
|
require "gsm"
|
6
|
-
require "
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
6
|
+
require "commander"
|
7
|
+
|
8
|
+
class Application
|
9
|
+
include Commander::Methods
|
10
|
+
|
11
|
+
def run
|
12
|
+
program :name, "gsm"
|
13
|
+
program :version, Gsm::VERSION
|
14
|
+
program :description, "GSM Sources Manager"
|
15
|
+
|
16
|
+
conf_path = ""
|
17
|
+
user_path = Dir.home()
|
18
|
+
Dir.chdir(user_path) do
|
19
|
+
if !Dir.exist?(".gsm")
|
20
|
+
Dir.mkdir(".gsm")
|
21
|
+
end
|
18
22
|
end
|
19
|
-
end
|
20
23
|
|
21
|
-
|
24
|
+
conf_path = "#{user_path}/.gsm/sources.yml"
|
22
25
|
|
23
|
-
|
26
|
+
gem = Gsm::Gem.new(conf_path)
|
24
27
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
+
command :list do |c|
|
29
|
+
c.syntax = "list"
|
30
|
+
c.description = "List all sources"
|
28
31
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
32
|
+
c.action do |_, _|
|
33
|
+
gem.sources.each do |name, url|
|
34
|
+
use_mark = ""
|
35
|
+
if gem.get == name
|
36
|
+
use_mark = "(*)"
|
37
|
+
end
|
38
|
+
puts "#{name}: #{url} #{use_mark}"
|
34
39
|
end
|
35
|
-
puts "#{name}: #{url} #{use_mark}"
|
36
40
|
end
|
37
41
|
end
|
38
|
-
end
|
39
42
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
43
|
+
command :use do |c|
|
44
|
+
c.syntax = "use [source]"
|
45
|
+
c.description = "Use source"
|
46
|
+
|
47
|
+
c.action do |args, _|
|
48
|
+
name = args[0]
|
49
|
+
use = gem.use(name)
|
50
|
+
if use
|
51
|
+
puts "GSM: Source `#{use}` has been applied."
|
52
|
+
else
|
53
|
+
Gsm::Util.error("Illegal source `#{name}`.")
|
54
|
+
end
|
51
55
|
end
|
52
56
|
end
|
53
|
-
end
|
54
57
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
+
command :add do |c|
|
59
|
+
c.syntax = "add [name] [url]"
|
60
|
+
c.description = "Add source"
|
58
61
|
|
59
|
-
|
62
|
+
c.option "use", "--use", "Add and use source"
|
60
63
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
64
|
+
c.action do |args, opts|
|
65
|
+
name = args[0]
|
66
|
+
url = args[1]
|
67
|
+
is_use = opts["use"]
|
65
68
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
69
|
+
if args.size < 2
|
70
|
+
Gsm::Util.error("Illegal name/url.")
|
71
|
+
return
|
72
|
+
end
|
70
73
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
74
|
+
if gem.add(name, url)
|
75
|
+
if is_use
|
76
|
+
if !gem.use(name)
|
77
|
+
Gsm::Util.error("Illegal source `#{name}`.")
|
78
|
+
end
|
75
79
|
end
|
80
|
+
|
81
|
+
puts "Gem #{name}: #{url} added."
|
82
|
+
else
|
83
|
+
Gsm::Util.error("Illegal name/url.")
|
76
84
|
end
|
77
|
-
else
|
78
|
-
Gsm::Util.error("Illegal name/url.")
|
79
85
|
end
|
80
86
|
end
|
81
|
-
end
|
82
87
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
88
|
+
command :del do |c|
|
89
|
+
c.syntax = "del [source]"
|
90
|
+
c.description = "Delete source"
|
91
|
+
|
92
|
+
c.action do |args, _|
|
93
|
+
name = args[0]
|
94
|
+
ret = gem.del(name)
|
95
|
+
if ret == false
|
96
|
+
Gsm::Util.error("Source is in use. Please switch to other source in advance.")
|
97
|
+
return
|
98
|
+
elsif ret == nil
|
99
|
+
Gsm::Util.error("No source name with `#{name}`.")
|
100
|
+
return
|
101
|
+
end
|
96
102
|
end
|
97
103
|
end
|
98
|
-
end
|
99
104
|
|
100
|
-
|
101
|
-
|
102
|
-
|
105
|
+
command :reset do |c|
|
106
|
+
c.syntax = "reset"
|
107
|
+
c.description = "Reset all sources"
|
103
108
|
|
104
|
-
|
105
|
-
|
109
|
+
c.action do |_, _|
|
110
|
+
gem.reset
|
111
|
+
puts "All gems are reset."
|
112
|
+
end
|
106
113
|
end
|
107
|
-
end
|
108
|
-
|
109
|
-
p.command(:mirror) do |c|
|
110
|
-
c.syntax "mirror [source]"
|
111
|
-
c.description "Mirror source for Bundler"
|
112
114
|
|
113
|
-
|
115
|
+
command :mirror do |c|
|
116
|
+
c.syntax = "mirror [source]"
|
117
|
+
c.description = "Mirror source for Bundler"
|
114
118
|
|
115
|
-
|
116
|
-
if opts["reset"]
|
117
|
-
Gsm::Bundle.reset
|
118
|
-
return
|
119
|
-
end
|
119
|
+
c.option "reset", "--reset", "Reset bundler mirror"
|
120
120
|
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
Gsm::Util.error("no default source for mirror.")
|
121
|
+
c.action do |args, opts|
|
122
|
+
if opts["reset"]
|
123
|
+
Gsm::Bundle.reset
|
125
124
|
return
|
126
125
|
end
|
127
|
-
|
128
|
-
|
126
|
+
|
127
|
+
if args.size == 0
|
128
|
+
name = gem.get
|
129
|
+
if name.empty?
|
130
|
+
Gsm::Util.error("no default source for mirror.")
|
131
|
+
return
|
132
|
+
else
|
133
|
+
puts "No specified source: use default `#{name}`."
|
134
|
+
end
|
135
|
+
else
|
136
|
+
name = args[0]
|
137
|
+
end
|
138
|
+
if Gsm::Bundle.mirror(gem.sources[name]).empty?
|
139
|
+
puts "`#{name}` has been set mirror for bundler."
|
140
|
+
puts
|
141
|
+
puts "Use `bundle config` to check."
|
142
|
+
end
|
129
143
|
end
|
130
|
-
Gsm::Bundle.mirror(gem.sources[name])
|
131
144
|
end
|
132
|
-
end
|
133
145
|
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
146
|
+
command :help do |c|
|
147
|
+
c.syntax = "help"
|
148
|
+
c.description = "Show usage"
|
149
|
+
|
150
|
+
c.action do |_, _|
|
151
|
+
puts "gsm sources manager"
|
152
|
+
puts
|
153
|
+
puts "gsm <subcommand> [options]"
|
154
|
+
puts
|
155
|
+
puts "Options:"
|
156
|
+
puts "\t--version"
|
157
|
+
puts "\t--help"
|
158
|
+
puts
|
159
|
+
puts "Subcommands:"
|
160
|
+
puts "\tlist"
|
161
|
+
puts "\tuse"
|
162
|
+
puts "\tadd"
|
163
|
+
puts "\tlist"
|
164
|
+
puts "\tdel"
|
165
|
+
puts "\treset"
|
166
|
+
puts "\tmirror"
|
167
|
+
end
|
140
168
|
end
|
169
|
+
|
170
|
+
alias_command :rm, :del
|
171
|
+
alias_command :remove, :del
|
172
|
+
|
173
|
+
run!
|
141
174
|
end
|
175
|
+
end
|
142
176
|
|
143
|
-
|
144
|
-
end
|
177
|
+
Application.new.run if $0 == __FILE__
|
data/gsm.gemspec
CHANGED
@@ -25,6 +25,6 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.add_development_dependency "shoulda-context"
|
26
26
|
spec.add_development_dependency "codeclimate-test-reporter", "~> 1.0.0"
|
27
27
|
|
28
|
-
spec.add_dependency "
|
28
|
+
spec.add_dependency "commander"
|
29
29
|
spec.add_dependency "colorize"
|
30
30
|
end
|
data/lib/gsm/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gsm-sources-manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.beta2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Zhang
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -53,19 +53,19 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 1.0.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: commander
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0
|
61
|
+
version: '0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: colorize
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -96,15 +96,8 @@ files:
|
|
96
96
|
- LICENSE
|
97
97
|
- README.md
|
98
98
|
- Rakefile
|
99
|
+
- _config.yml
|
99
100
|
- appveyor.yml
|
100
|
-
- docs/.gitignore
|
101
|
-
- docs/_config.yml
|
102
|
-
- docs/_data/changelog.yml
|
103
|
-
- docs/_data/index.yml
|
104
|
-
- docs/_layouts/default.html
|
105
|
-
- docs/css/style.css
|
106
|
-
- docs/image/gsm.png
|
107
|
-
- docs/index.html
|
108
101
|
- exe/gsm
|
109
102
|
- gsm.gemspec
|
110
103
|
- lib/gsm.rb
|
@@ -138,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
138
131
|
version: 1.3.1
|
139
132
|
requirements: []
|
140
133
|
rubyforge_project:
|
141
|
-
rubygems_version: 2.
|
134
|
+
rubygems_version: 2.5.2
|
142
135
|
signing_key:
|
143
136
|
specification_version: 4
|
144
137
|
summary: GSM Sources Manager
|
data/docs/.gitignore
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
/_site/
|
data/docs/_config.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
baseurl: "/gsm"
|
data/docs/_data/changelog.yml
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
- version: "1.0.0.beta1"
|
2
|
-
changes:
|
3
|
-
- text: "Polish docs"
|
4
|
-
issue: 12
|
5
|
-
- text: "Use colored error message"
|
6
|
-
issue: 13
|
7
|
-
- text: "Bugfix: illegal name/url cause exception"
|
8
|
-
issue: 13
|
9
|
-
- version: "1.0.0.alpha5"
|
10
|
-
changes:
|
11
|
-
- text: "Bugfix: unintended path to `sources.yml`"
|
12
|
-
issue: 8
|
13
|
-
- version: "1.0.0.alpha4"
|
14
|
-
changes:
|
15
|
-
- text: "Ruby 2.2.5 support"
|
16
|
-
- version: "1.0.0.alpha3"
|
17
|
-
changes:
|
18
|
-
- text: "Release on RubyGem"
|
19
|
-
- text: "Bugfix: write conf to user directory"
|
20
|
-
issue: 5
|
21
|
-
- version: "1.0.0.alpha2"
|
22
|
-
changes:
|
23
|
-
- text: "Limit number of gem sources"
|
24
|
-
- version: "1.0.0.alpha"
|
25
|
-
changes:
|
26
|
-
- text: "Initial Alpha Version"
|
data/docs/_data/index.yml
DELETED
@@ -1,99 +0,0 @@
|
|
1
|
-
install: |
|
2
|
-
## Install with RubyGems
|
3
|
-
|
4
|
-
```shell
|
5
|
-
$ gem install gsm-sources-manager
|
6
|
-
$ gsm --version
|
7
|
-
```
|
8
|
-
|
9
|
-
## Or, you may install manually
|
10
|
-
|
11
|
-
```
|
12
|
-
$ git clone https://github.com/crispgm/gsm.git
|
13
|
-
$ bundle install
|
14
|
-
$ bundle exec exe/gsm --version
|
15
|
-
```
|
16
|
-
guide: |
|
17
|
-
## Getting Started
|
18
|
-
|
19
|
-
Once you have installed and bootstrapped `gsm` with commands other than `--help` or `--version`, `gsm` will load sources from local `gem sources -l`.
|
20
|
-
|
21
|
-
HINT: The sources will be named after gemstones, e.g. _Amethyst_.
|
22
|
-
|
23
|
-
## Commands
|
24
|
-
|
25
|
-
### List
|
26
|
-
|
27
|
-
List sources within `gsm`.
|
28
|
-
|
29
|
-
```
|
30
|
-
$ gsm list
|
31
|
-
|
32
|
-
Amethyst: https://gems.ruby-china.org/
|
33
|
-
```
|
34
|
-
|
35
|
-
### Use
|
36
|
-
|
37
|
-
Use a source with `source_name`.
|
38
|
-
|
39
|
-
```
|
40
|
-
$ gsm use Amethyst
|
41
|
-
|
42
|
-
GSM: Source `Amethyst` has been applied.
|
43
|
-
```
|
44
|
-
|
45
|
-
```
|
46
|
-
$ gsm list
|
47
|
-
|
48
|
-
Amethyst: https://rubygems.org/ (*)
|
49
|
-
```
|
50
|
-
|
51
|
-
### Add
|
52
|
-
|
53
|
-
Use a source with `source_name` and `source_url`.
|
54
|
-
|
55
|
-
`--use`: Use the input source as well. Equivalent to `gsm add` and then `gsm use`.
|
56
|
-
|
57
|
-
```
|
58
|
-
$ gsm add Amethyst https://rubygems.org/
|
59
|
-
```
|
60
|
-
|
61
|
-
### Del
|
62
|
-
|
63
|
-
Delete a source with `source_name`.
|
64
|
-
|
65
|
-
```
|
66
|
-
$ gsm del Amethyst
|
67
|
-
```
|
68
|
-
|
69
|
-
### Reset
|
70
|
-
|
71
|
-
Reset all sources.
|
72
|
-
|
73
|
-
```
|
74
|
-
$ gsm reset
|
75
|
-
```
|
76
|
-
|
77
|
-
### Mirror
|
78
|
-
|
79
|
-
Mirror the source with `bundle`.
|
80
|
-
|
81
|
-
`--reset`: Reset mirror of bundle configuration.
|
82
|
-
|
83
|
-
```
|
84
|
-
$ gsm mirror Amethyst
|
85
|
-
```
|
86
|
-
|
87
|
-
### Help
|
88
|
-
|
89
|
-
Show help info.
|
90
|
-
|
91
|
-
```
|
92
|
-
$ gsm help
|
93
|
-
```
|
94
|
-
contrib: |
|
95
|
-
[GSM Sources Manager](https://github.com/crispgm/gsm) is licensed under MIT License.
|
96
|
-
|
97
|
-
If there is a bug, you may [file an issue](https://github.com/crispgm/gsm/issues/new) or pull request directly.
|
98
|
-
|
99
|
-
Pull requests for contribution is welcomed.
|
data/docs/_layouts/default.html
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<meta charset="UTF-8">
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
6
|
-
<title>Home | GSM Sources Manager</title>
|
7
|
-
<link rel="stylesheet" href="/gsm/css/style.css">
|
8
|
-
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
9
|
-
<script src="https://crispgm.com/script/highlight.pack.js"></script>
|
10
|
-
<link rel="stylesheet" href="https://crispgm.com/css/zenburn.css">
|
11
|
-
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
|
12
|
-
<script>hljs.initHighlightingOnLoad();</script>
|
13
|
-
</head>
|
14
|
-
<body>
|
15
|
-
<div id="container">
|
16
|
-
<header id="topbar">
|
17
|
-
<div class="menu">
|
18
|
-
<div class="menu-item">
|
19
|
-
<a href="/gsm/">Home</a>
|
20
|
-
</div>
|
21
|
-
<div class="menu-item">
|
22
|
-
<a href="#install">Install</a>
|
23
|
-
</div>
|
24
|
-
<div class="menu-item">
|
25
|
-
<a href="#guide">Guide</a>
|
26
|
-
</div>
|
27
|
-
<div class="menu-item">
|
28
|
-
<a href="#changelog">Changelog</a>
|
29
|
-
</div>
|
30
|
-
<div class="menu-item">
|
31
|
-
<a href="#contributing">Contributing</a>
|
32
|
-
</div>
|
33
|
-
</div>
|
34
|
-
<div class="title">
|
35
|
-
GSM Sources Manager
|
36
|
-
</div>
|
37
|
-
</header>
|
38
|
-
{{ content }}
|
39
|
-
<footer>
|
40
|
-
Copyright © <a href="https://crispgm.com/">David Zhang</a>, 2017.
|
41
|
-
</footer>
|
42
|
-
</div>
|
43
|
-
</body>
|
44
|
-
</html>
|
data/docs/css/style.css
DELETED
@@ -1,190 +0,0 @@
|
|
1
|
-
* {
|
2
|
-
box-sizing: border-box;
|
3
|
-
}
|
4
|
-
html {
|
5
|
-
width: 100%;
|
6
|
-
font-size: 16px;
|
7
|
-
}
|
8
|
-
@media (max-width: 42rem) {
|
9
|
-
html {
|
10
|
-
font-size: 12px;
|
11
|
-
}
|
12
|
-
}
|
13
|
-
body {
|
14
|
-
margin: 0;
|
15
|
-
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;
|
16
|
-
font-size: 1rem;
|
17
|
-
-webkit-font-smoothing: antialiased;
|
18
|
-
color: #333;
|
19
|
-
background-color: #fbfbfb;
|
20
|
-
word-wrap: break-word;
|
21
|
-
text-align: center;
|
22
|
-
height: 100%;
|
23
|
-
line-height: 1.5rem;
|
24
|
-
}
|
25
|
-
img {
|
26
|
-
border: 0;
|
27
|
-
}
|
28
|
-
a {
|
29
|
-
text-decoration: none;
|
30
|
-
color: #06c;
|
31
|
-
}
|
32
|
-
a:hover {
|
33
|
-
text-decoration: underline;
|
34
|
-
}
|
35
|
-
pre.highlight {
|
36
|
-
border: .05rem solid #aaaaaa;
|
37
|
-
border-radius: .2rem;
|
38
|
-
font-family: Menlo, Monaco, "Source Code Pro", Consolas, Courier;
|
39
|
-
font-size: .9rem;
|
40
|
-
padding: .4rem .8rem .4rem .8rem;
|
41
|
-
color: #aaa;
|
42
|
-
background-color: #222;
|
43
|
-
}
|
44
|
-
code.hljs {
|
45
|
-
padding: .8rem;
|
46
|
-
}
|
47
|
-
code.highlighter-rouge {
|
48
|
-
background-color: #ddd;
|
49
|
-
border-radius: .2rem;
|
50
|
-
padding: .1rem .3rem .1rem .3rem;
|
51
|
-
font-size: .9rem;
|
52
|
-
}
|
53
|
-
#container {
|
54
|
-
margin: 0 auto;
|
55
|
-
max-width: 42rem;
|
56
|
-
text-align: left;
|
57
|
-
}
|
58
|
-
@media (max-width: 42rem) {
|
59
|
-
#container {
|
60
|
-
padding-left: .5rem;
|
61
|
-
padding-right: .5rem;
|
62
|
-
}
|
63
|
-
}
|
64
|
-
#topbar {
|
65
|
-
height: 3rem;
|
66
|
-
padding-top: 1rem;
|
67
|
-
margin-bottom: 6rem;
|
68
|
-
}
|
69
|
-
.title {
|
70
|
-
font-weight: bold;
|
71
|
-
}
|
72
|
-
.menu {
|
73
|
-
float: right;
|
74
|
-
display: flex;
|
75
|
-
}
|
76
|
-
.menu-item {
|
77
|
-
padding-left: 1rem;
|
78
|
-
}
|
79
|
-
@media (max-width: 42rem) {
|
80
|
-
.title {
|
81
|
-
margin-top: 2rem;
|
82
|
-
text-align: center;
|
83
|
-
}
|
84
|
-
.menu {
|
85
|
-
float: none;
|
86
|
-
display: flex;
|
87
|
-
justify-content: space-around;
|
88
|
-
}
|
89
|
-
.menu-item {
|
90
|
-
padding: 0;
|
91
|
-
}
|
92
|
-
}
|
93
|
-
#intro {
|
94
|
-
text-align: center;
|
95
|
-
}
|
96
|
-
#intro-logo {
|
97
|
-
text-align: center;
|
98
|
-
}
|
99
|
-
#intro-logo img {
|
100
|
-
width: 10rem;
|
101
|
-
height: 10rem;
|
102
|
-
}
|
103
|
-
#intro-text {
|
104
|
-
margin-top: 6rem;
|
105
|
-
font-size: 1.8rem;
|
106
|
-
line-height: 1.4;
|
107
|
-
}
|
108
|
-
#intro-desc {
|
109
|
-
text-align: left;
|
110
|
-
margin-top: 2rem;
|
111
|
-
}
|
112
|
-
#intro-button {
|
113
|
-
margin-top: 5rem;
|
114
|
-
margin-left: auto;
|
115
|
-
margin-right: auto;
|
116
|
-
display: flex;
|
117
|
-
justify-content: center;
|
118
|
-
}
|
119
|
-
#intro-version {
|
120
|
-
margin-top: 1rem;
|
121
|
-
}
|
122
|
-
@media (max-width: 42rem) {
|
123
|
-
#intro-text {
|
124
|
-
margin-top: 3rem;
|
125
|
-
font-size: 1.1rem;
|
126
|
-
}
|
127
|
-
#intro-button {
|
128
|
-
margin-top: 2rem;
|
129
|
-
}
|
130
|
-
}
|
131
|
-
.install-item {
|
132
|
-
padding: 0rem 1rem 0rem 1rem;
|
133
|
-
font-size: 1.5rem;
|
134
|
-
line-height: 2.5rem;
|
135
|
-
color: #000;
|
136
|
-
background-color: #fff;
|
137
|
-
border: 1px solid #000;
|
138
|
-
border-radius: .5rem;
|
139
|
-
}
|
140
|
-
.install-item:hover {
|
141
|
-
border: 1px solid #06c;
|
142
|
-
}
|
143
|
-
.install-gsm {
|
144
|
-
margin-right: .5rem;
|
145
|
-
}
|
146
|
-
.install-user-guide {
|
147
|
-
margin-left: .5rem;
|
148
|
-
}
|
149
|
-
.install-item a {
|
150
|
-
color: #000;
|
151
|
-
}
|
152
|
-
.install-item:hover a {
|
153
|
-
color: #06c;
|
154
|
-
text-decoration: none;
|
155
|
-
}
|
156
|
-
.back-top {
|
157
|
-
text-align: center;
|
158
|
-
}
|
159
|
-
#social {
|
160
|
-
text-align: center;
|
161
|
-
margin-top: 1rem;
|
162
|
-
padding-bottom: 3rem;
|
163
|
-
border-bottom: solid #aaa 1px;
|
164
|
-
}
|
165
|
-
.content {
|
166
|
-
padding-top: 3rem;
|
167
|
-
font-size: 1rem;
|
168
|
-
border-bottom: solid #aaa 1px;
|
169
|
-
padding-bottom: 3rem;
|
170
|
-
}
|
171
|
-
.content-title {
|
172
|
-
text-align: center;
|
173
|
-
font-size: 2rem;
|
174
|
-
padding-bottom: 1rem;
|
175
|
-
}
|
176
|
-
.content-title-icon {
|
177
|
-
font-size: 1.5rem;
|
178
|
-
}
|
179
|
-
.content-title-icon a {
|
180
|
-
color: #fbfbfb;
|
181
|
-
}
|
182
|
-
.content-title:hover .content-title-icon a {
|
183
|
-
color: #333;
|
184
|
-
}
|
185
|
-
footer {
|
186
|
-
/*text-align: center;*/
|
187
|
-
font-size: 1.2rem;
|
188
|
-
padding-top: 1rem;
|
189
|
-
padding-bottom: 1rem;
|
190
|
-
}
|
data/docs/image/gsm.png
DELETED
Binary file
|
data/docs/index.html
DELETED
@@ -1,109 +0,0 @@
|
|
1
|
-
---
|
2
|
-
permalink: index.html
|
3
|
-
layout: default
|
4
|
-
---
|
5
|
-
<div id="intro">
|
6
|
-
<div id="intro-logo">
|
7
|
-
<img src="/gsm/image/gsm.png">
|
8
|
-
</div>
|
9
|
-
<div id="intro-text">
|
10
|
-
GSM is a simple sources manager for RubyGems.
|
11
|
-
</div>
|
12
|
-
<div id="intro-desc">
|
13
|
-
In Ruby development, we always need alternative RubyGems source in special networks. e.g. In China Mainland, you know. GSM helps get your gem sources managed.
|
14
|
-
</div>
|
15
|
-
<div id="intro-button">
|
16
|
-
<div class="install-item install-gsm">
|
17
|
-
<a href="#install">Install GSM</a>
|
18
|
-
</div>
|
19
|
-
<div class="install-item install-user-guide">
|
20
|
-
<a href="#guide">User Guide</a>
|
21
|
-
</div>
|
22
|
-
</div>
|
23
|
-
<div id="intro-version">
|
24
|
-
<span>Version <a href="#changelog">{{ site.data.changelog[0].version }}</a> ·</span>
|
25
|
-
<span>Created by <a href="https://crispgm.com">David Zhang</a></span>
|
26
|
-
</div>
|
27
|
-
</div>
|
28
|
-
<div id="social">
|
29
|
-
<a class="github-button" href="https://github.com/crispgm/gsm" data-icon="octicon-star" data-count-href="/crispgm/gsm/stargazers" data-count-api="/repos/crispgm/gsm#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star crispgm/gsm on GitHub">Star</a>
|
30
|
-
<a class="github-button" href="https://github.com/crispgm/gsm/fork" data-icon="octicon-repo-forked" data-count-href="/crispgm/gsm/network" data-count-api="/repos/crispgm/gsm#forks_count" data-count-aria-label="# forks on GitHub" aria-label="Fork crispgm/gsm on GitHub">Fork</a>
|
31
|
-
</div>
|
32
|
-
<div id="install" class="content">
|
33
|
-
<div class="content-title">
|
34
|
-
<span class="content-title-text">Installation</span>
|
35
|
-
<span class="content-title-icon">
|
36
|
-
<a href="#install"><i class="fa fa-paragraph"></i></a>
|
37
|
-
</span>
|
38
|
-
</div>
|
39
|
-
<div>
|
40
|
-
{{ site.data.index.install | markdownify }}
|
41
|
-
</div>
|
42
|
-
<div class="back-top">
|
43
|
-
<a href="#topbar">Back to top</a>
|
44
|
-
</div>
|
45
|
-
</div>
|
46
|
-
<div id="guide" class="content">
|
47
|
-
<div class="content-title">
|
48
|
-
<span class="content-title-text">User Guide</span>
|
49
|
-
<span class="content-title-icon">
|
50
|
-
<a href="#guide"><i class="fa fa-paragraph"></i></a>
|
51
|
-
</span>
|
52
|
-
</div>
|
53
|
-
{{ site.data.index.guide | markdownify }}
|
54
|
-
<div class="back-top">
|
55
|
-
<a href="#topbar">Back to top</a>
|
56
|
-
</div>
|
57
|
-
</div>
|
58
|
-
<div id="changelog" class="content">
|
59
|
-
<div class="content-title">
|
60
|
-
<span class="content-title-text">Changelog</span>
|
61
|
-
<span class="content-title-icon">
|
62
|
-
<a href="#changelog"><i class="fa fa-paragraph"></i></a>
|
63
|
-
</span>
|
64
|
-
</div>
|
65
|
-
{% for change in site.data.changelog %}
|
66
|
-
<h3>Version {{ change.version }}</h3>
|
67
|
-
<ul>
|
68
|
-
{% for log in change.changes %}
|
69
|
-
<li>
|
70
|
-
{{ log.text }}
|
71
|
-
{% if log.issue != nil %}
|
72
|
-
<a href="https://github.com/crispgm/gsm/issues/{{ log.issue }}">#{{ log.issue }}</a></li>
|
73
|
-
{% endif %}
|
74
|
-
</li>
|
75
|
-
{% endfor %}
|
76
|
-
</ul>
|
77
|
-
{% endfor %}
|
78
|
-
<div class="back-top">
|
79
|
-
<a href="#topbar">Back to top</a>
|
80
|
-
</div>
|
81
|
-
</div>
|
82
|
-
<div id="contributing" class="content">
|
83
|
-
<div class="content-title">
|
84
|
-
<span class="content-title-text">Contributing</span>
|
85
|
-
<span class="content-title-icon">
|
86
|
-
<a href="#contributing"><i class="fa fa-paragraph"></i></a>
|
87
|
-
</span>
|
88
|
-
</div>
|
89
|
-
{{ site.data.index.contrib | markdownify }}
|
90
|
-
<div class="back-top">
|
91
|
-
<a href="#topbar">Back to top</a>
|
92
|
-
</div>
|
93
|
-
</div>
|
94
|
-
<div id="disqus" class="content">
|
95
|
-
<div id="disqus_thread"></div>
|
96
|
-
<script>
|
97
|
-
var disqus_config = function () {
|
98
|
-
this.page.url = 'https://crispgm.github.io/gsm/';
|
99
|
-
this.page.identifier = 'Home | GSM Sources Manager';
|
100
|
-
};
|
101
|
-
(function() { // DON'T EDIT BELOW THIS LINE
|
102
|
-
var d = document, s = d.createElement('script');
|
103
|
-
s.src = '//crispgm-github-io.disqus.com/embed.js';
|
104
|
-
s.setAttribute('data-timestamp', +new Date());
|
105
|
-
(d.head || d.body).appendChild(s);
|
106
|
-
})();
|
107
|
-
</script>
|
108
|
-
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
109
|
-
</div>
|