fontist 1.10.0 → 1.11.3
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/README.adoc +804 -0
- data/exe/fontist +24 -2
- data/fontist.gemspec +4 -2
- data/lib/fontist/cli.rb +5 -10
- data/lib/fontist/formula.rb +4 -0
- data/lib/fontist/google_cli.rb +29 -0
- data/lib/fontist/import/files/collection_file.rb +10 -1
- data/lib/fontist/import/formula_builder.rb +25 -4
- data/lib/fontist/import/google/new_fonts_fetcher.rb +44 -33
- data/lib/fontist/import/google.rb +18 -0
- data/lib/fontist/import/google_check.rb +0 -7
- data/lib/fontist/import/google_import.rb +26 -142
- data/lib/fontist/import/helpers/system_helper.rb +1 -1
- data/lib/fontist/import/otf/font_file.rb +5 -1
- data/lib/fontist/import/otf_parser.rb +2 -0
- data/lib/fontist/import/recursive_extraction.rb +4 -1
- data/lib/fontist/index.rb +0 -27
- data/lib/fontist/system_font.rb +9 -6
- data/lib/fontist/system_index.rb +43 -29
- data/lib/fontist/update.rb +21 -7
- data/lib/fontist/utils/downloader.rb +15 -6
- data/lib/fontist/version.rb +1 -1
- data/lib/fontist.rb +21 -15
- metadata +38 -28
- data/.github/workflows/check_google.yml +0 -28
- data/README.md +0 -570
- data/lib/fontist/formula_paths.rb +0 -44
- data/lib/fontist/import/google/fonts_public.md +0 -10
- data/lib/fontist/import/google/fonts_public.pb.rb +0 -71
- data/lib/fontist/import/google/fonts_public.proto +0 -46
@@ -1,28 +0,0 @@
|
|
1
|
-
name: check_google
|
2
|
-
|
3
|
-
on:
|
4
|
-
schedule:
|
5
|
-
- cron: '0 0 * * *'
|
6
|
-
|
7
|
-
jobs:
|
8
|
-
check:
|
9
|
-
runs-on: ubuntu-latest
|
10
|
-
|
11
|
-
steps:
|
12
|
-
- uses: actions/checkout@v2
|
13
|
-
|
14
|
-
- uses: actions/setup-ruby@v1
|
15
|
-
with:
|
16
|
-
ruby-version: 2.6
|
17
|
-
|
18
|
-
- name: Install otfinfo
|
19
|
-
run: sudo apt-get install lcdf-typetools
|
20
|
-
|
21
|
-
- name: Install bundler
|
22
|
-
run: gem install bundler
|
23
|
-
|
24
|
-
- name: Setup
|
25
|
-
run: bin/setup
|
26
|
-
|
27
|
-
- name: Check new fonts
|
28
|
-
run: TEST_ENV=CI bin/check_google
|
data/README.md
DELETED
@@ -1,570 +0,0 @@
|
|
1
|
-
# Fontist
|
2
|
-
|
3
|
-
[](https://github.com/fontist/fontist/actions/workflows/rspec.yml)
|
4
|
-
[](https://rubygems.org/gems/fontist)
|
5
|
-
[](https://github.com/fontist/fontist/pulls)
|
6
|
-
|
7
|
-
A simple library to find and download fonts for Windows, Linux and Mac.
|
8
|
-
|
9
|
-
## Installation
|
10
|
-
|
11
|
-
Add this line to your application's Gemfile:
|
12
|
-
|
13
|
-
```ruby
|
14
|
-
gem "fontist"
|
15
|
-
```
|
16
|
-
|
17
|
-
And then execute:
|
18
|
-
|
19
|
-
```sh
|
20
|
-
bundle install
|
21
|
-
```
|
22
|
-
|
23
|
-
Or install it yourself as:
|
24
|
-
|
25
|
-
```sh
|
26
|
-
gem install fontist
|
27
|
-
```
|
28
|
-
|
29
|
-
### Fetch formulas
|
30
|
-
|
31
|
-
After installation please fetch formulas to your system:
|
32
|
-
|
33
|
-
```sh
|
34
|
-
fontist update
|
35
|
-
```
|
36
|
-
|
37
|
-
### Dependencies
|
38
|
-
|
39
|
-
Depends on
|
40
|
-
[ffi-libarchive-binary](https://github.com/fontist/ffi-libarchive-binary) which
|
41
|
-
has the following requirements:
|
42
|
-
|
43
|
-
* zlib
|
44
|
-
* Expat
|
45
|
-
* OpenSSL (for Linux only)
|
46
|
-
|
47
|
-
These dependencies are generally present on all systems.
|
48
|
-
|
49
|
-
## Usage
|
50
|
-
|
51
|
-
### Font
|
52
|
-
|
53
|
-
The `Fontist::Font` is your go to place to deal with any font using fontist. This
|
54
|
-
interface will allow you to find a font or install a font. Lets start with how
|
55
|
-
can we find a font in your system.
|
56
|
-
|
57
|
-
#### Finding a font
|
58
|
-
|
59
|
-
The `Fontist::Font.find` interface can be used a find a font in your system.
|
60
|
-
It will look into the operating system specific font directories, and also the
|
61
|
-
fontist specific `~/.fontist` directory.
|
62
|
-
|
63
|
-
```ruby
|
64
|
-
Fontist::Font.find(name)
|
65
|
-
```
|
66
|
-
|
67
|
-
If fontist find a font then it will return the paths, but if not found then it
|
68
|
-
will could raise an unsupported font error or maybe an installation instruction
|
69
|
-
for that specific font.
|
70
|
-
|
71
|
-
#### Install a font
|
72
|
-
|
73
|
-
The `Fontist::Font.install` interface can be used to install any supported font.
|
74
|
-
This interface first checks if you already have that font installed or not and
|
75
|
-
if you do then it will return the paths.
|
76
|
-
|
77
|
-
If you don't but supported by fontist, then it will download the font and copy
|
78
|
-
it to `~/.fontist` directory and also return the paths.
|
79
|
-
|
80
|
-
```ruby
|
81
|
-
Fontist::Font.install(name, confirmation: "no")
|
82
|
-
```
|
83
|
-
|
84
|
-
If there are some issue with the provided font, like not supported or some other
|
85
|
-
issue then it will raise those errors.
|
86
|
-
|
87
|
-
#### List all fonts
|
88
|
-
|
89
|
-
The `Fontist::Font` interface exposes an interface to list all supported fonts,
|
90
|
-
this might be useful if want to know the name of the font or the available
|
91
|
-
styles. You can do that by using:
|
92
|
-
|
93
|
-
```ruby
|
94
|
-
Fontist::Font.all
|
95
|
-
```
|
96
|
-
|
97
|
-
The return values are ` OpenStruct` object, so you can easily do any other
|
98
|
-
operation you would do in any ruby object.
|
99
|
-
|
100
|
-
### Formula
|
101
|
-
|
102
|
-
The `fontist` gem internally usages the `Fontist::Formula` interface to find a
|
103
|
-
registered formula or fonts supported by any formula. Unless, you need to do
|
104
|
-
anything with that you shouldn't need to work with this interface directly. But
|
105
|
-
if you do then these are the public interface it offers.
|
106
|
-
|
107
|
-
#### Find a formula
|
108
|
-
|
109
|
-
The `Fontist::Formula.find` interface allows you to find any of the registered
|
110
|
-
formula. This interface takes a font name as an argument and it looks through
|
111
|
-
each of the registered formula that offers this font installation. Usages:
|
112
|
-
|
113
|
-
```ruby
|
114
|
-
Fontist::Formula.find("Calibri")
|
115
|
-
```
|
116
|
-
|
117
|
-
The above method will find which formula offers this font and then it will
|
118
|
-
return a installable formula that can be used to check licences or install that
|
119
|
-
fonts in your system.
|
120
|
-
|
121
|
-
#### Find formula fonts
|
122
|
-
|
123
|
-
Normally, each font name can be associated with multiple styles or collection, for
|
124
|
-
example the `Calibri` font might contains a `regular`, `bold` or `italic` styles
|
125
|
-
fonts and if you want a interface that can return the complete list then this is
|
126
|
-
your friend. You can use it as following:
|
127
|
-
|
128
|
-
```ruby
|
129
|
-
Fontist::Formula.find_fonts("Calibri")
|
130
|
-
```
|
131
|
-
|
132
|
-
|
133
|
-
#### List all formulas
|
134
|
-
|
135
|
-
The `Fontist::Formula` interface exposes an interface to list all registered
|
136
|
-
font formula. This might be useful if want to know the name of the formula or
|
137
|
-
what type fonts can be installed using that formula. Usages:
|
138
|
-
|
139
|
-
```ruby
|
140
|
-
Fontist::Formula.all
|
141
|
-
```
|
142
|
-
|
143
|
-
The return values are ` OpenStruct` object, so you can easily do any other
|
144
|
-
operation you would do in any ruby object.
|
145
|
-
|
146
|
-
|
147
|
-
### Manifest
|
148
|
-
|
149
|
-
#### Locations
|
150
|
-
|
151
|
-
Fontist lets find font locations from a manifest of the following format:
|
152
|
-
|
153
|
-
```ruby
|
154
|
-
{"Segoe UI"=>["Regular", "Bold"],
|
155
|
-
"Roboto Mono"=>["Regular"]}
|
156
|
-
```
|
157
|
-
|
158
|
-
Calling the following code returns a nested hash with font paths and names.
|
159
|
-
Font name is useful to choose a specific font in a font collection file (TTC).
|
160
|
-
|
161
|
-
```ruby
|
162
|
-
Fontist::Manifest::Locations.from_hash(manifest)
|
163
|
-
```
|
164
|
-
|
165
|
-
```ruby
|
166
|
-
{"Segoe UI"=> {
|
167
|
-
"Regular"=>{"full_name"=>"Segoe UI",
|
168
|
-
"paths"=>["/Users/user/.fontist/fonts/SEGOEUI.TTF"]},
|
169
|
-
"Bold"=>{"full_name"=>"Segoe UI Bold",
|
170
|
-
"paths"=>["/Users/user/.fontist/fonts/SEGOEUIB.TTF"]}},
|
171
|
-
"Roboto Mono"=> {
|
172
|
-
"Regular"=>{"full_name"=>nil,
|
173
|
-
"paths"=>[]}}}
|
174
|
-
```
|
175
|
-
|
176
|
-
#### Install
|
177
|
-
|
178
|
-
Fontist lets not only to get font locations but also to install fonts from the
|
179
|
-
manifest:
|
180
|
-
|
181
|
-
```ruby
|
182
|
-
Fontist::Manifest::Install.from_hash(manifest, confirmation: "yes")
|
183
|
-
```
|
184
|
-
|
185
|
-
It will install fonts and return their locations:
|
186
|
-
|
187
|
-
```ruby
|
188
|
-
{"Segoe UI"=> {
|
189
|
-
"Regular"=>{"full_name"=>"Segoe UI",
|
190
|
-
"paths"=>["/Users/user/.fontist/fonts/SEGOEUI.TTF"]},
|
191
|
-
"Bold"=>{"full_name"=>"Segoe UI Bold",
|
192
|
-
"paths"=>["/Users/user/.fontist/fonts/SEGOEUIB.TTF"]}},
|
193
|
-
"Roboto Mono"=> {
|
194
|
-
"Regular"=>{"full_name"=>"Roboto Mono Regular",
|
195
|
-
"paths"=>["/Users/user/.fontist/fonts/RobotoMono-VariableFont_wght.ttf"]}}}
|
196
|
-
```
|
197
|
-
|
198
|
-
#### Support of YAML format
|
199
|
-
|
200
|
-
Both commands support a YAML file as an input with a `from_file` method. For
|
201
|
-
example, if there is a `manifest.yml` file containing:
|
202
|
-
|
203
|
-
```yaml
|
204
|
-
Segoe UI:
|
205
|
-
- Regular
|
206
|
-
- Bold
|
207
|
-
Roboto Mono:
|
208
|
-
- Regular
|
209
|
-
```
|
210
|
-
|
211
|
-
Then the following calls would return font names and paths, as from the
|
212
|
-
`from_hash` method (see [Locations](#locations) and [Install](#install)).
|
213
|
-
|
214
|
-
```ruby
|
215
|
-
Fontist::Manifest::Locations.from_file("manifest.yml")
|
216
|
-
Fontist::Manifest::Install.from_file("manifest.yml", confirmation: "yes")
|
217
|
-
```
|
218
|
-
|
219
|
-
### CLI
|
220
|
-
|
221
|
-
These commands makes possible to operate with fonts via command line. The CLI
|
222
|
-
properly supports exit status, so in a case of error it returns a status code
|
223
|
-
higher or equal than 1.
|
224
|
-
|
225
|
-
All searches are case-insensitive for ease of use.
|
226
|
-
|
227
|
-
#### Install
|
228
|
-
|
229
|
-
The `install` command is similar to the `Font.install` call. It first checks
|
230
|
-
whether this font is already installed, and if not, then installs the font and
|
231
|
-
returns its paths. Only font name (not formula name, nor font filename) could
|
232
|
-
be used as a parameter.
|
233
|
-
|
234
|
-
```
|
235
|
-
$ fontist install "segoe ui"
|
236
|
-
These fonts are found or installed:
|
237
|
-
/Users/user/.fontist/fonts/SEGOEUI.TTF
|
238
|
-
/Users/user/.fontist/fonts/SEGOEUIB.TTF
|
239
|
-
/Users/user/.fontist/fonts/SEGOEUII.TTF
|
240
|
-
/Users/user/.fontist/fonts/SEGOEUIZ.TTF
|
241
|
-
```
|
242
|
-
|
243
|
-
#### Uninstall
|
244
|
-
|
245
|
-
Uninstalls any font supported by Fontist. Returns paths of an uninstalled font,
|
246
|
-
or prints an error telling that the font isn't installed or could not be found
|
247
|
-
in Fontist formulas. Aliased as `remove`.
|
248
|
-
|
249
|
-
```
|
250
|
-
$ fontist uninstall "segoe ui"
|
251
|
-
These fonts are removed:
|
252
|
-
/Users/user/.fontist/fonts/SEGOEUII.TTF
|
253
|
-
/Users/user/.fontist/fonts/SEGOEUIZ.TTF
|
254
|
-
/Users/user/.fontist/fonts/SEGOEUIB.TTF
|
255
|
-
/Users/user/.fontist/fonts/SEGOEUI.TTF
|
256
|
-
```
|
257
|
-
|
258
|
-
#### Status
|
259
|
-
|
260
|
-
Prints installed font paths grouped by formula and font.
|
261
|
-
|
262
|
-
```
|
263
|
-
$ fontist status "segoe ui"
|
264
|
-
segoe_ui
|
265
|
-
Segoe UI
|
266
|
-
Regular (/Users/user/.fontist/fonts/SEGOEUI.TTF)
|
267
|
-
Bold (/Users/user/.fontist/fonts/SEGOEUIB.TTF)
|
268
|
-
Italic (/Users/user/.fontist/fonts/SEGOEUII.TTF)
|
269
|
-
Bold Italic (/Users/user/.fontist/fonts/SEGOEUIZ.TTF)
|
270
|
-
```
|
271
|
-
|
272
|
-
#### List
|
273
|
-
|
274
|
-
Lists installation status of fonts supported by Fontist.
|
275
|
-
|
276
|
-
```
|
277
|
-
$ fontist list "segoe ui"
|
278
|
-
segoe_ui
|
279
|
-
Segoe UI
|
280
|
-
Regular (installed)
|
281
|
-
Bold (installed)
|
282
|
-
Italic (installed)
|
283
|
-
Bold Italic (installed)
|
284
|
-
```
|
285
|
-
|
286
|
-
```
|
287
|
-
$ fontist list "roboto mono"
|
288
|
-
google/roboto_mono
|
289
|
-
Roboto Mono
|
290
|
-
Regular (uninstalled)
|
291
|
-
Italic (uninstalled)
|
292
|
-
```
|
293
|
-
|
294
|
-
#### Locations from manifest
|
295
|
-
|
296
|
-
Returns locations of fonts specified in a YAML file as an input.
|
297
|
-
|
298
|
-
For example, if there is a file `manifest.yml`:
|
299
|
-
|
300
|
-
```yml
|
301
|
-
Segoe UI:
|
302
|
-
- Regular
|
303
|
-
- Bold
|
304
|
-
Roboto Mono:
|
305
|
-
- Regular
|
306
|
-
```
|
307
|
-
|
308
|
-
Then the command will return the following YAML output:
|
309
|
-
|
310
|
-
```yml
|
311
|
-
$ fontist manifest-locations manifest.yml
|
312
|
-
---
|
313
|
-
Segoe UI:
|
314
|
-
Regular:
|
315
|
-
full_name: Segoe UI
|
316
|
-
paths:
|
317
|
-
- "/Users/user/.fontist/fonts/SEGOEUI.TTF"
|
318
|
-
Bold:
|
319
|
-
full_name: Segoe UI Bold
|
320
|
-
paths:
|
321
|
-
- "/Users/user/.fontist/fonts/SEGOEUIB.TTF"
|
322
|
-
Roboto Mono:
|
323
|
-
Regular:
|
324
|
-
full_name:
|
325
|
-
paths: []
|
326
|
-
```
|
327
|
-
|
328
|
-
Since Segoe UI is installed, but Roboto Mono is not.
|
329
|
-
|
330
|
-
#### Install from manifest
|
331
|
-
|
332
|
-
Install fonts from a YAML manifest:
|
333
|
-
|
334
|
-
```yml
|
335
|
-
$ fontist manifest-install --confirm-license manifest.yml
|
336
|
-
---
|
337
|
-
Segoe UI:
|
338
|
-
Regular:
|
339
|
-
full_name: Segoe UI
|
340
|
-
paths:
|
341
|
-
- "/Users/user/.fontist/fonts/SEGOEUI.TTF"
|
342
|
-
Bold:
|
343
|
-
full_name: Segoe UI Bold
|
344
|
-
paths:
|
345
|
-
- "/Users/user/.fontist/fonts/SEGOEUIB.TTF"
|
346
|
-
Roboto Mono:
|
347
|
-
Regular:
|
348
|
-
full_name: Roboto Mono Regular
|
349
|
-
paths:
|
350
|
-
- "/Users/user/.fontist/fonts/RobotoMono-VariableFont_wght.ttf"
|
351
|
-
```
|
352
|
-
|
353
|
-
#### Help
|
354
|
-
|
355
|
-
List of all commands could be seen by:
|
356
|
-
|
357
|
-
```
|
358
|
-
fontist help
|
359
|
-
```
|
360
|
-
|
361
|
-
### Configuration
|
362
|
-
|
363
|
-
By default Fontist uses the `~/.fontist` directory to store fonts and its
|
364
|
-
files. It could be changed with the `FONTIST_PATH` environment variable.
|
365
|
-
|
366
|
-
```sh
|
367
|
-
FONTIST_PATH=~/.fontist_new fontist update
|
368
|
-
```
|
369
|
-
|
370
|
-
## Development
|
371
|
-
|
372
|
-
We are following Sandi Metz's Rules for this gem, you can read the
|
373
|
-
[description of the rules here][sandi-metz] All new code should follow these
|
374
|
-
rules. If you make changes in a pre-existing file that violates these rules you
|
375
|
-
should fix the violations as part of your contribution.
|
376
|
-
|
377
|
-
### Setup
|
378
|
-
|
379
|
-
Clone the repository.
|
380
|
-
|
381
|
-
```sh
|
382
|
-
git clone https://github.com/fontist/fontist
|
383
|
-
```
|
384
|
-
|
385
|
-
Setup your environment.
|
386
|
-
|
387
|
-
```sh
|
388
|
-
bin/setup
|
389
|
-
```
|
390
|
-
|
391
|
-
Run the test suite
|
392
|
-
|
393
|
-
```sh
|
394
|
-
bin/rspec
|
395
|
-
```
|
396
|
-
|
397
|
-
### Formulas storage
|
398
|
-
|
399
|
-
All formulas are kept in the [formulas][fontist-formulas] repository. If you'd
|
400
|
-
like to add a new one or change any existing, please refer to its documentation.
|
401
|
-
|
402
|
-
### Private repos
|
403
|
-
|
404
|
-
There is an ability to use private fonts via private fontist repo. Fontist repo
|
405
|
-
is a git repo which contains YAML formula files. Formulas can be created
|
406
|
-
manually (see [examples](https://github.com/fontist/formulas/tree/master/Formulas)),
|
407
|
-
or [auto-generated from an archive](#auto-generate-a-formula).
|
408
|
-
|
409
|
-
A repo can be either HTTPS or SSH Git repo. In case of SSH, a corresponding SSH key
|
410
|
-
should be setup with ssh-agent in order to access this private repo.
|
411
|
-
|
412
|
-
The `repo setup` command fetches a repo's formulas, and saves repo's name and url
|
413
|
-
for later use.
|
414
|
-
|
415
|
-
Internally all repos are stored at `~/.fontist/formulas/Formulas/private`.
|
416
|
-
|
417
|
-
```sh
|
418
|
-
fontist repo setup NAME URL
|
419
|
-
```
|
420
|
-
|
421
|
-
E.g.
|
422
|
-
|
423
|
-
```sh
|
424
|
-
fontist repo setup acme https://example.com/acme/formulas.git
|
425
|
-
# or
|
426
|
-
fontist repo setup acme git@example.com:acme/formulas.git
|
427
|
-
```
|
428
|
-
|
429
|
-
Then you can just install fonts from this repo:
|
430
|
-
|
431
|
-
```sh
|
432
|
-
fontist install "private font"
|
433
|
-
```
|
434
|
-
|
435
|
-
There is no need in any additional command to be run, but if you add new
|
436
|
-
formulas to your repo, you can fetch them with the `repo update` command:
|
437
|
-
|
438
|
-
```sh
|
439
|
-
fontist repo update acme
|
440
|
-
```
|
441
|
-
|
442
|
-
If there is a need to avoid using private formulas, the repo can be removed with:
|
443
|
-
|
444
|
-
```sh
|
445
|
-
fontist repo remove acme
|
446
|
-
```
|
447
|
-
|
448
|
-
### Private formulas
|
449
|
-
|
450
|
-
Authorization of private archives in private formulas can be implemented with
|
451
|
-
headers. Here is an example which works with Github releases:
|
452
|
-
|
453
|
-
```yaml
|
454
|
-
resources:
|
455
|
-
fonts.zip:
|
456
|
-
urls:
|
457
|
-
- url: https://example.com/repos/acme/formulas/releases/assets/38777461
|
458
|
-
headers:
|
459
|
-
Accept: application/octet-stream
|
460
|
-
Authorization: token ghp_1234567890abcdefghi
|
461
|
-
```
|
462
|
-
|
463
|
-
A token can be obtained on [this page](https://github.com/settings/tokens).
|
464
|
-
It should have at least the `repo` scope.
|
465
|
-
|
466
|
-
### Auto-generate a formula
|
467
|
-
|
468
|
-
A formula could be generated from a fonts archive. Just specify a URL to the
|
469
|
-
archive:
|
470
|
-
|
471
|
-
```sh
|
472
|
-
fontist create-formula https://www.latofonts.com/download/lato2ofl-zip/
|
473
|
-
cp lato.yml ~/.fontist/formulas/Formulas/
|
474
|
-
```
|
475
|
-
|
476
|
-
Though indexes are auto-generated now, maintainers should rebuild indexes
|
477
|
-
in the main repo for backward compatibility with fontist prior to 1.9.x versions.
|
478
|
-
A formula index should be rebuild, when a new formula is generated or an
|
479
|
-
existing one changed:
|
480
|
-
|
481
|
-
```sh
|
482
|
-
fontist rebuild-index --main-repo
|
483
|
-
```
|
484
|
-
|
485
|
-
Then, both the formula and the updated indexes should be commited and pushed to
|
486
|
-
the formula repository:
|
487
|
-
|
488
|
-
```sh
|
489
|
-
cd ~/.fontist/formulas
|
490
|
-
git add Formulas/lato.yml index.yml filename_index.yml
|
491
|
-
git commit -m "Add Lato formula"
|
492
|
-
```
|
493
|
-
|
494
|
-
### Google Import
|
495
|
-
|
496
|
-
The library contains formulas for [Google Foonts][google-fonts]. A GHA workflow
|
497
|
-
checks for fonts update every day. In case an update is found, it could be
|
498
|
-
fetched to the library by:
|
499
|
-
|
500
|
-
```
|
501
|
-
bin/import_google
|
502
|
-
```
|
503
|
-
|
504
|
-
The script would update formulas which should be committed to a separate
|
505
|
-
repository [formulas][fontist-formulas]:
|
506
|
-
|
507
|
-
```
|
508
|
-
cd ~/.fontist/formulas
|
509
|
-
git add Formulas/google index.yml filename_index.yml
|
510
|
-
git commit -m "Google Fonts update"
|
511
|
-
git push
|
512
|
-
```
|
513
|
-
|
514
|
-
### Import of SIL fonts
|
515
|
-
|
516
|
-
Fontist contains formulas of [SIL fonts](https://software.sil.org/fonts/). They
|
517
|
-
can be updated with:
|
518
|
-
|
519
|
-
```sh
|
520
|
-
fontist import-sil
|
521
|
-
cd ~/.fontist/formulas
|
522
|
-
git add Formulas/sil index.yml filename_index.yml
|
523
|
-
git commit -m "SIL fonts update"
|
524
|
-
git push
|
525
|
-
```
|
526
|
-
|
527
|
-
### Releasing
|
528
|
-
|
529
|
-
Releasing is done automatically with GitHub Action. Just bump and tag with `gem-release`.
|
530
|
-
|
531
|
-
For a patch release (0.0.x) use:
|
532
|
-
|
533
|
-
```sh
|
534
|
-
gem bump --version patch --tag --push
|
535
|
-
```
|
536
|
-
|
537
|
-
For a minor release (0.x.0) use:
|
538
|
-
|
539
|
-
```sh
|
540
|
-
gem bump --version minor --tag --push
|
541
|
-
```
|
542
|
-
|
543
|
-
## Contributing
|
544
|
-
|
545
|
-
First, thank you for contributing! We love pull requests from everyone. By
|
546
|
-
participating in this project, you hereby grant [Ribose Inc.][riboseinc] the
|
547
|
-
right to grant or transfer an unlimited number of non exclusive licenses or
|
548
|
-
sub-licenses to third parties, under the copyright covering the contribution
|
549
|
-
to use the contribution by all means.
|
550
|
-
|
551
|
-
Here are a few technical guidelines to follow:
|
552
|
-
|
553
|
-
1. Open an [issue][issues] to discuss a new feature.
|
554
|
-
1. Write tests to support your new feature.
|
555
|
-
1. Make sure the entire test suite passes locally and on CI.
|
556
|
-
1. Open a Pull Request.
|
557
|
-
1. [Squash your commits][squash] after receiving feedback.
|
558
|
-
1. Party!
|
559
|
-
|
560
|
-
|
561
|
-
## Credit
|
562
|
-
|
563
|
-
This gem is developed, maintained and funded by [Ribose Inc.][riboseinc]
|
564
|
-
|
565
|
-
[riboseinc]: https://www.ribose.com
|
566
|
-
[issues]: https://github.com/fontist/fontist/issues
|
567
|
-
[squash]: https://github.com/thoughtbot/guides/tree/master/protocol/git#write-a-feature
|
568
|
-
[sandi-metz]: http://robots.thoughtbot.com/post/50655960596/sandi-metz-rules-for-developers
|
569
|
-
[fontist-formulas]: https://github.com/fontist/formulas
|
570
|
-
[google-fonts]: https://fonts.google.com
|