gsm-sources-manager 1.0.0.beta1 → 1.0.0.beta2
Sign up to get free protection for your applications and to get access to all the features.
- 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>
|