labrat 0.1.14 → 1.1.0
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/.gitignore +3 -0
- data/.rubocop.yml +2 -18
- data/.simplecov +18 -0
- data/Gemfile.lock +55 -48
- data/Notes.org +17 -0
- data/README.org +64 -46
- data/bin/labrat +2 -2
- data/labrat.gemspec +3 -4
- data/lib/config_files/config.yml +6 -1
- data/lib/config_files/labeldb.yml +7 -6
- data/lib/labrat/arg_parser.rb +18 -7
- data/lib/labrat/config.rb +9 -2
- data/lib/labrat/label.rb +7 -3
- data/lib/labrat/options.rb +7 -3
- data/lib/labrat/version.rb +1 -1
- data/lib/labrat.rb +1 -1
- data/lib/lisp/labrat.el +8 -8
- metadata +16 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3cb6a8e4afc8a5d258a6e62936df099cfd3d14aa0cc538c3ea0e505640999c08
|
|
4
|
+
data.tar.gz: f99873b21e534ce721332491557be580d51c9b85431236fe3eac35e866e11e9f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dad638049b53df861e9511308ebd27552681c1fd4fbb9e69ab5926db7a99f66e9c4248cc6d8fef3e9787c09c502f95ecd42dca54908f003a8d9eecf0bf0ee7d9
|
|
7
|
+
data.tar.gz: 2a903b57e3f2ba0ac02122b38c84e45de01b30d447617f8966f573c1ffe7dc2756f2bb5548f222341c575dffa78b8ca931ef435991bc0f2ae154f4c211e6a373
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -1,18 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# require:
|
|
5
|
-
# - rubocop-rspec
|
|
6
|
-
# - rubocop-performance
|
|
7
|
-
|
|
8
|
-
AllCops:
|
|
9
|
-
TargetRubyVersion: 2.7
|
|
10
|
-
|
|
11
|
-
Style/StringLiteralsInInterpolation:
|
|
12
|
-
Enabled: true
|
|
13
|
-
|
|
14
|
-
Layout/LineLength:
|
|
15
|
-
Max: 120
|
|
16
|
-
|
|
17
|
-
Style/MethodCallWithArgsParentheses:
|
|
18
|
-
Enabled: false
|
|
1
|
+
inherit_from:
|
|
2
|
+
- ~/.rubocop.yml
|
data/.simplecov
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# -*- mode: ruby -*-
|
|
2
|
+
|
|
3
|
+
SimpleCov.start do
|
|
4
|
+
# any custom configs like groups and filters can be here at a central place
|
|
5
|
+
add_filter '/spec/'
|
|
6
|
+
add_filter '/tmp/'
|
|
7
|
+
add_group "Models", "lib/labrat"
|
|
8
|
+
# add_group "Core Extension", "lib/ext"
|
|
9
|
+
# After this many seconds between runs, old coverage stats are thrown out,
|
|
10
|
+
# so 3600 => 1 hour
|
|
11
|
+
merge_timeout 3600
|
|
12
|
+
# Make this true to merge rspec and cucumber coverage together
|
|
13
|
+
use_merging false
|
|
14
|
+
command_name 'Rspec'
|
|
15
|
+
nocov_token 'no_cover'
|
|
16
|
+
# Branch coverage
|
|
17
|
+
enable_coverage :branch
|
|
18
|
+
end
|
data/Gemfile.lock
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
labrat (0.
|
|
4
|
+
labrat (1.0.0)
|
|
5
5
|
activesupport
|
|
6
6
|
fat_core
|
|
7
7
|
matrix
|
|
8
|
-
methodize
|
|
9
8
|
prawn (~> 2.0)
|
|
10
9
|
|
|
11
10
|
GEM
|
|
12
11
|
remote: https://rubygems.org/
|
|
13
12
|
specs:
|
|
14
|
-
activesupport (6.1.
|
|
13
|
+
activesupport (6.1.7)
|
|
15
14
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
16
15
|
i18n (>= 1.6, < 2)
|
|
17
16
|
minitest (>= 5.1)
|
|
@@ -19,78 +18,85 @@ GEM
|
|
|
19
18
|
zeitwerk (~> 2.3)
|
|
20
19
|
ast (2.4.2)
|
|
21
20
|
coderay (1.1.3)
|
|
22
|
-
concurrent-ruby (1.1.
|
|
21
|
+
concurrent-ruby (1.1.10)
|
|
23
22
|
damerau-levenshtein (1.3.3)
|
|
24
|
-
debug (1.
|
|
25
|
-
irb (>= 1.
|
|
26
|
-
reline (>= 0.
|
|
27
|
-
diff-lcs (1.
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
debug (1.7.1)
|
|
24
|
+
irb (>= 1.5.0)
|
|
25
|
+
reline (>= 0.3.1)
|
|
26
|
+
diff-lcs (1.5.0)
|
|
27
|
+
docile (1.4.0)
|
|
28
|
+
fat_core (4.13.0)
|
|
29
|
+
activesupport (~> 6.0)
|
|
30
30
|
damerau-levenshtein
|
|
31
|
-
i18n (1.
|
|
31
|
+
i18n (1.12.0)
|
|
32
32
|
concurrent-ruby (~> 1.0)
|
|
33
|
-
io-console (0.
|
|
34
|
-
irb (1.
|
|
33
|
+
io-console (0.6.0)
|
|
34
|
+
irb (1.6.2)
|
|
35
35
|
reline (>= 0.3.0)
|
|
36
|
+
json (2.6.3)
|
|
36
37
|
matrix (0.4.2)
|
|
37
38
|
method_source (1.0.0)
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
parser (3.0.2.0)
|
|
39
|
+
minitest (5.17.0)
|
|
40
|
+
parallel (1.22.1)
|
|
41
|
+
parser (3.2.0.0)
|
|
42
42
|
ast (~> 2.4.1)
|
|
43
43
|
pdf-core (0.9.0)
|
|
44
44
|
prawn (2.4.0)
|
|
45
45
|
pdf-core (~> 0.9.0)
|
|
46
46
|
ttfunk (~> 1.7)
|
|
47
|
-
pry (0.
|
|
47
|
+
pry (0.14.1)
|
|
48
48
|
coderay (~> 1.1)
|
|
49
49
|
method_source (~> 1.0)
|
|
50
|
-
rainbow (3.
|
|
50
|
+
rainbow (3.1.1)
|
|
51
51
|
rake (13.0.6)
|
|
52
|
-
regexp_parser (2.
|
|
53
|
-
reline (0.3.
|
|
52
|
+
regexp_parser (2.6.1)
|
|
53
|
+
reline (0.3.2)
|
|
54
54
|
io-console (~> 0.5)
|
|
55
55
|
rexml (3.2.5)
|
|
56
|
-
rspec (3.
|
|
57
|
-
rspec-core (~> 3.
|
|
58
|
-
rspec-expectations (~> 3.
|
|
59
|
-
rspec-mocks (~> 3.
|
|
60
|
-
rspec-core (3.
|
|
61
|
-
rspec-support (~> 3.
|
|
62
|
-
rspec-expectations (3.
|
|
56
|
+
rspec (3.12.0)
|
|
57
|
+
rspec-core (~> 3.12.0)
|
|
58
|
+
rspec-expectations (~> 3.12.0)
|
|
59
|
+
rspec-mocks (~> 3.12.0)
|
|
60
|
+
rspec-core (3.12.0)
|
|
61
|
+
rspec-support (~> 3.12.0)
|
|
62
|
+
rspec-expectations (3.12.1)
|
|
63
63
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
64
|
-
rspec-support (~> 3.
|
|
65
|
-
rspec-mocks (3.
|
|
64
|
+
rspec-support (~> 3.12.0)
|
|
65
|
+
rspec-mocks (3.12.1)
|
|
66
66
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
67
|
-
rspec-support (~> 3.
|
|
68
|
-
rspec-support (3.
|
|
69
|
-
rubocop (1.
|
|
67
|
+
rspec-support (~> 3.12.0)
|
|
68
|
+
rspec-support (3.12.0)
|
|
69
|
+
rubocop (1.42.0)
|
|
70
|
+
json (~> 2.3)
|
|
70
71
|
parallel (~> 1.10)
|
|
71
|
-
parser (>= 3.
|
|
72
|
+
parser (>= 3.1.2.1)
|
|
72
73
|
rainbow (>= 2.2.2, < 4.0)
|
|
73
74
|
regexp_parser (>= 1.8, < 3.0)
|
|
74
|
-
rexml
|
|
75
|
-
rubocop-ast (>= 1.
|
|
75
|
+
rexml (>= 3.2.5, < 4.0)
|
|
76
|
+
rubocop-ast (>= 1.24.1, < 2.0)
|
|
76
77
|
ruby-progressbar (~> 1.7)
|
|
77
78
|
unicode-display_width (>= 1.4.0, < 3.0)
|
|
78
|
-
rubocop-ast (1.
|
|
79
|
-
parser (>= 3.
|
|
80
|
-
rubocop-performance (1.
|
|
79
|
+
rubocop-ast (1.24.1)
|
|
80
|
+
parser (>= 3.1.1.0)
|
|
81
|
+
rubocop-performance (1.15.2)
|
|
81
82
|
rubocop (>= 1.7.0, < 2.0)
|
|
82
83
|
rubocop-ast (>= 0.4.0)
|
|
83
|
-
rubocop-rspec (2.
|
|
84
|
-
rubocop (~> 1.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
rubocop (~> 1.18)
|
|
84
|
+
rubocop-rspec (2.16.0)
|
|
85
|
+
rubocop (~> 1.33)
|
|
86
|
+
rubocop-shopify (2.11.1)
|
|
87
|
+
rubocop (~> 1.42)
|
|
88
88
|
ruby-progressbar (1.11.0)
|
|
89
|
+
simplecov (0.22.0)
|
|
90
|
+
docile (~> 1.1)
|
|
91
|
+
simplecov-html (~> 0.11)
|
|
92
|
+
simplecov_json_formatter (~> 0.1)
|
|
93
|
+
simplecov-html (0.12.3)
|
|
94
|
+
simplecov_json_formatter (0.1.4)
|
|
89
95
|
ttfunk (1.7.0)
|
|
90
|
-
tzinfo (2.0.
|
|
96
|
+
tzinfo (2.0.5)
|
|
91
97
|
concurrent-ruby (~> 1.0)
|
|
92
|
-
unicode-display_width (2.
|
|
93
|
-
zeitwerk (2.
|
|
98
|
+
unicode-display_width (2.4.2)
|
|
99
|
+
zeitwerk (2.6.6)
|
|
94
100
|
|
|
95
101
|
PLATFORMS
|
|
96
102
|
x86_64-linux
|
|
@@ -98,13 +104,14 @@ PLATFORMS
|
|
|
98
104
|
DEPENDENCIES
|
|
99
105
|
debug (>= 1.0.0)
|
|
100
106
|
labrat!
|
|
101
|
-
pry
|
|
107
|
+
pry
|
|
102
108
|
rake (~> 13.0)
|
|
103
109
|
rspec (~> 3.0)
|
|
104
110
|
rubocop (~> 1.7)
|
|
105
111
|
rubocop-performance
|
|
106
112
|
rubocop-rspec
|
|
107
113
|
rubocop-shopify
|
|
114
|
+
simplecov
|
|
108
115
|
|
|
109
116
|
BUNDLED WITH
|
|
110
117
|
2.3.4
|
data/Notes.org
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
* Lprint
|
|
2
|
+
|
|
3
|
+
See [[https://www.msweet.org/lprint/lprint.html][the documentation here]].
|
|
4
|
+
|
|
5
|
+
#+begin_src shell
|
|
6
|
+
sudo snap install lprint
|
|
7
|
+
sudo apt install gtk3-nocsd
|
|
8
|
+
set -gx LD_PRELOAD '/usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0'
|
|
9
|
+
sudo lprint devices
|
|
10
|
+
snap list
|
|
11
|
+
snap get lprint
|
|
12
|
+
snap info --verbose lprint
|
|
13
|
+
lsusb
|
|
14
|
+
snap connections lprint
|
|
15
|
+
sudo snap connect lprint:raw-usb
|
|
16
|
+
lprint devices
|
|
17
|
+
#+end_src
|
data/README.org
CHANGED
|
@@ -10,7 +10,7 @@ The following is for org.
|
|
|
10
10
|
[[https://travis-ci.org/ddoherty03/labrat.svg?branch=master]]
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
* Table of Contents :
|
|
13
|
+
* Table of Contents :toc_4:
|
|
14
14
|
- [[#labrat][Labrat]]
|
|
15
15
|
- [[#motivation][Motivation]]
|
|
16
16
|
- [[#a-tip-on-buying-file-folder-labels][A Tip on Buying File Folder Labels]]
|
|
@@ -32,9 +32,17 @@ The following is for org.
|
|
|
32
32
|
- [[#label-separator][Label separator]]
|
|
33
33
|
- [[#number-of-copies][Number of copies]]
|
|
34
34
|
- [[#input-and-output-files][Input and output files]]
|
|
35
|
+
- [[#output-file][Output file]]
|
|
36
|
+
- [[#command-line-arguments][Command-line arguments]]
|
|
37
|
+
- [[#specified-input-file][Specified input file]]
|
|
38
|
+
- [[#standard-input][Standard input]]
|
|
39
|
+
- [[#template-exception][Template exception]]
|
|
35
40
|
- [[#printing-or-viewing][Printing or viewing]]
|
|
36
41
|
- [[#shell-commands][Shell commands]]
|
|
37
42
|
- [[#aids-to-testing-label-layouts][Aids to testing label layouts]]
|
|
43
|
+
- [[#page-grid-1][Page Grid]]
|
|
44
|
+
- [[#page-template][Page Template]]
|
|
45
|
+
- [[#verbose-reporting][Verbose Reporting]]
|
|
38
46
|
- [[#the-label-database-and-the-label-option][The Label Database and the label option]]
|
|
39
47
|
- [[#listing-labels][Listing labels]]
|
|
40
48
|
- [[#system-label-database][System label database]]
|
|
@@ -51,7 +59,7 @@ wonderful [[https://github.com/prawnpdf/prawn][Prawn gem]] to generate PDF files
|
|
|
51
59
|
=labrat= properly configured, printing a label is as simple as:
|
|
52
60
|
|
|
53
61
|
#+begin_example
|
|
54
|
-
$ labrat 'Income Taxes 2021
|
|
62
|
+
$ labrat 'Income Taxes 2021-->Example Maker, Inc.'
|
|
55
63
|
#+end_example
|
|
56
64
|
|
|
57
65
|
And you will get a two-line file-folder label printed that looks like this:
|
|
@@ -77,14 +85,14 @@ without success, I decided to write my own. Hence labrat. With it---after
|
|
|
77
85
|
due configuration---printing a file folder label is as simple as:
|
|
78
86
|
|
|
79
87
|
#+begin_src sh
|
|
80
|
-
$ labrat 'First Line of Label
|
|
88
|
+
$ labrat 'First Line of Label-->And the Second Line'
|
|
81
89
|
#+end_src
|
|
82
90
|
|
|
83
91
|
Or, you can preview the label in your previewer of choice (mine is qpdfview)
|
|
84
92
|
by adding the -V flag:
|
|
85
93
|
|
|
86
94
|
#+begin_src sh
|
|
87
|
-
$ labrat -V 'First Line of Label
|
|
95
|
+
$ labrat -V 'First Line of Label-->And the Second Line'
|
|
88
96
|
#+end_src
|
|
89
97
|
|
|
90
98
|
Even better, I have included with =labrat= an elisp file (=labrat.el=) that
|
|
@@ -150,9 +158,9 @@ For the benefit of Emacs users, it also installs the =labrat.el= elisp library
|
|
|
150
158
|
in =~/.config/labrat= as well, though you may want to move it to a different
|
|
151
159
|
location.
|
|
152
160
|
|
|
153
|
-
If invoke =labrat-install= multiple times, it will refuse to overwrite any
|
|
154
|
-
existing config or database files that you may have
|
|
155
|
-
re-install them you have to move
|
|
161
|
+
If you invoke =labrat-install= multiple times, it will refuse to overwrite any
|
|
162
|
+
existing config or database files that you may have already installed. If you
|
|
163
|
+
want to re-install them you have to move the existing files out of the way.
|
|
156
164
|
|
|
157
165
|
** Setting options
|
|
158
166
|
You can control how =labrat= composes a label completely from the
|
|
@@ -166,11 +174,11 @@ Labrat reads options from the following locations, with the locations listed
|
|
|
166
174
|
from lowest to highest priority. In other words, options set in the
|
|
167
175
|
first-listed location can be overriden by settings in later-listed locations.
|
|
168
176
|
|
|
169
|
-
1.
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
2.
|
|
173
|
-
|
|
177
|
+
1. From =/etc/xdg/labrat/config.yml=. This is a YAML formatted file in which
|
|
178
|
+
the long form of the option, without the leading '--', is used as a key
|
|
179
|
+
with the setting as the value.
|
|
180
|
+
2. From =~/.config/labrat/config.yml=. It also uses the YAML format based on
|
|
181
|
+
the long form of option names.
|
|
174
182
|
3. Finally, it reads options from the command-line, where, of course, the
|
|
175
183
|
leading hyphens are mandatory.
|
|
176
184
|
|
|
@@ -265,7 +273,7 @@ taking the page orientation into account
|
|
|
265
273
|
|
|
266
274
|
** Label Setup Options
|
|
267
275
|
These options determine the layout of individual labels within the page rather
|
|
268
|
-
than the page as a whole. Note that the dimensions of
|
|
276
|
+
than the page as a whole. Note that the dimensions of a single whole label is
|
|
269
277
|
not specified, but is implicitly determined by (1) the page width and height,
|
|
270
278
|
(2) the page margins, (3) the number of rows and columns per page, and (4) the
|
|
271
279
|
row and column gaps. The remaining space on the page is divided into a grid
|
|
@@ -279,10 +287,10 @@ side of the label:
|
|
|
279
287
|
- ~--bottom-pad=DIM~ :: Distance from bottom side of label to the printed text
|
|
280
288
|
- ~--left-pad=DIM~ :: Distance from left side of label to the printed text
|
|
281
289
|
- ~--right-pad=DIM~ :: Distance from right side of label to the printed text
|
|
282
|
-
- ~--v-pad=DIM~ :: Short for ~--top-pad=DIM~ and ~--bottom-pad~
|
|
283
|
-
- ~--h-pad=DIM~ :: Short for ~--left-pad=DIM~ and ~--right-pad~
|
|
284
|
-
- ~--pad=DIM~ :: Short for ~--top-pad=DIM~, ~--bottom-pad~, ~--left-pad=DIM~
|
|
285
|
-
and ~--right-pad~
|
|
290
|
+
- ~--v-pad=DIM~ :: Short for ~--top-pad=DIM~ and ~--bottom-pad=DIM~
|
|
291
|
+
- ~--h-pad=DIM~ :: Short for ~--left-pad=DIM~ and ~--right-pad=DIM~
|
|
292
|
+
- ~--pad=DIM~ :: Short for ~--top-pad=DIM~, ~--bottom-pad=DIM~, ~--left-pad=DIM~
|
|
293
|
+
and ~--right-pad=DIM~
|
|
286
294
|
|
|
287
295
|
*** Alignment
|
|
288
296
|
By default the label text is centered horizontally and vertically within the
|
|
@@ -298,8 +306,9 @@ label, but the following options allow you to alter that.
|
|
|
298
306
|
of these apply to the whole label text: there is no provision yet for doing
|
|
299
307
|
in-line changes of font styles.
|
|
300
308
|
|
|
301
|
-
- ~--font-name=
|
|
302
|
-
|
|
309
|
+
- ~--font-name=[Times|Courier|Helvetica]~ :: Name of font to use. Currently,
|
|
310
|
+
these are the only three fonts are available: Times, Courier, or Helvetica.
|
|
311
|
+
Without this option, Helvetica is used;
|
|
303
312
|
- ~--font-size=NUM~ :: Size of font to use in points (default 12)
|
|
304
313
|
- ~--font-style=[normal|bold|italic|bold-italic]~ :: Style of font to use for
|
|
305
314
|
text (default normal)
|
|
@@ -337,27 +346,27 @@ later pages always start on the first label position.
|
|
|
337
346
|
|
|
338
347
|
*** New line marker
|
|
339
348
|
You can embed a special text-sequence in the label text to indicate where a
|
|
340
|
-
line-break should occur. By default it is the sequence
|
|
341
|
-
=labrat= will translate all occurrences of
|
|
342
|
-
even consecutive occurrences. There is no way to escape this in
|
|
343
|
-
if you want labels for
|
|
344
|
-
|
|
349
|
+
line-break should occur. By default it is the sequence =-->=. This means
|
|
350
|
+
that =labrat= will translate all occurrences of =-->= in the text into a
|
|
351
|
+
line-break, even consecutive occurrences. There is no way to escape this in
|
|
352
|
+
the text, so if you want labels for that use '-->' as part of the text, you
|
|
353
|
+
are going to have difficulty printing a labels. But you can change the marker
|
|
345
354
|
to something else with ~--nlsep~. This is especially helpful when you are
|
|
346
355
|
using the command-line to supply the label text since specifying line-breaks
|
|
347
356
|
on a shell command can be difficult. However note that this substitution
|
|
348
357
|
takes place even when reading label texts from a file or standard input.
|
|
349
358
|
|
|
350
359
|
- ~-n~, ~--nlsep=SEPARATOR~ :: Specify text to be translated into a line-break
|
|
351
|
-
(default '
|
|
360
|
+
(default '-->')
|
|
352
361
|
|
|
353
362
|
*** Label separator
|
|
354
363
|
The only way to print more than one label from the command-line is to indicate
|
|
355
364
|
where one label ends and the next begins with a special marker in the
|
|
356
|
-
command-line arguments, by default the string '
|
|
365
|
+
command-line arguments, by default the string '==>'. The text used for this
|
|
357
366
|
can be customized with this option.
|
|
358
367
|
|
|
359
368
|
- ~--label-sep=SEPARATOR~ :: Specify text that indicates the start of a new
|
|
360
|
-
label (default '
|
|
369
|
+
label (default '==>')
|
|
361
370
|
|
|
362
371
|
*** Number of copies
|
|
363
372
|
This option causes =labrat= to generate multiple copies of each label with all
|
|
@@ -379,11 +388,11 @@ on the command-line. It combines all the non-option arguments and joins them
|
|
|
379
388
|
with a space between each argument. For example,
|
|
380
389
|
|
|
381
390
|
#+begin_example
|
|
382
|
-
$ labrat -c3 This is a 'single label' '
|
|
391
|
+
$ labrat -c3 This is a 'single label' '-->composed of all this' text --font-style=italic
|
|
383
392
|
#+end_example
|
|
384
393
|
|
|
385
394
|
prints three copies of a single label in italics with two lines, breaking at
|
|
386
|
-
the '
|
|
395
|
+
the '-->' marker, resulting in something like this:
|
|
387
396
|
|
|
388
397
|
#+begin_example
|
|
389
398
|
This is a single label
|
|
@@ -392,12 +401,12 @@ composed of all this text
|
|
|
392
401
|
|
|
393
402
|
Note that when the label text is specified on the command-line, ~labrat~ just
|
|
394
403
|
prints a single label. The only ways to get multiple labels is by (1) marking
|
|
395
|
-
a separation between labels with the ~--label-sep~ marker ('
|
|
404
|
+
a separation between labels with the ~--label-sep~ marker ('==>' by default)
|
|
396
405
|
or (2) using the ~-c~ (~--copies~) argument to get multiple copies of the
|
|
397
406
|
label text. These options can be combined as well. For example,
|
|
398
407
|
|
|
399
408
|
#+begin_example
|
|
400
|
-
$ labrat -c3 This is the 'first label'
|
|
409
|
+
$ labrat -c3 This is the 'first label' ==> 'And the rest --> is the second' text --font-style=italic
|
|
401
410
|
#+end_example
|
|
402
411
|
|
|
403
412
|
will produce three copies of two separate labels:
|
|
@@ -439,9 +448,10 @@ as for a specified ~in-file~, treating each paragraph as a label text and
|
|
|
439
448
|
disregarding comments.
|
|
440
449
|
|
|
441
450
|
**** Template exception
|
|
442
|
-
Notwithstanding all of the above, if the ~-T~ (~--template~) option is given
|
|
443
|
-
|
|
444
|
-
ignored and a template is
|
|
451
|
+
Notwithstanding all of the above, if the ~-T~ (~--template~) option is given
|
|
452
|
+
(see below at [[*Aids to testing label layouts][Aids to testing label layouts]]), all label texts from the
|
|
453
|
+
command-line, an ~in-file~, or standard input are ignored and a template is
|
|
454
|
+
generated.
|
|
445
455
|
|
|
446
456
|
*** Printing or viewing
|
|
447
457
|
By default, =labrat= prints the generated output file to the printer named
|
|
@@ -467,7 +477,8 @@ any event.
|
|
|
467
477
|
|
|
468
478
|
- ~-p~, ~--printer=NAME~ :: Name of the label printer to print on
|
|
469
479
|
- ~-%~, ~--print-command=PRINTCMD~ :: Command to use for printing with %p for
|
|
470
|
-
printer name; %o for label file name
|
|
480
|
+
printer name; %o for label file name (the `%` is meant to remind you of a
|
|
481
|
+
piece of a paper beingg fed between two rollers)
|
|
471
482
|
|
|
472
483
|
Likewise, =labrat= uses the shell command
|
|
473
484
|
#+begin_example
|
|
@@ -479,11 +490,16 @@ very likely that you will want to configure this with the ~--view-command~
|
|
|
479
490
|
option to your liking.
|
|
480
491
|
|
|
481
492
|
- ~-:~, ~--view-command=VIEWCMD~ :: Command to use for viewing with %o for
|
|
482
|
-
label file name
|
|
493
|
+
label file name (the `:` is meant to remind you of a pair of eyes looking at
|
|
494
|
+
the purdy label)
|
|
483
495
|
|
|
484
496
|
*** Aids to testing label layouts
|
|
497
|
+
|
|
498
|
+
**** Page Grid
|
|
485
499
|
The following options are very useful if your are trying to configure the set
|
|
486
|
-
up for a new label type or otherwise trying to figure out a problem
|
|
500
|
+
up for a new label type or otherwise trying to figure out a problem, such as
|
|
501
|
+
setting the ~--delta-x~ or ~--delta-y~ values for your setup.
|
|
502
|
+
|
|
487
503
|
Normally, =labrat= does not print an outline for the labels, but if you are
|
|
488
504
|
testing things out on plain paper, it helps to know where =labrat= thinks the
|
|
489
505
|
boundaries of the labels are. That is what the ~--grid~ or ~-g~ options
|
|
@@ -491,14 +507,16 @@ provide.
|
|
|
491
507
|
|
|
492
508
|
- ~-g~, ~--[no-]grid~ :: Add grid lines to output
|
|
493
509
|
|
|
510
|
+
**** Page Template
|
|
494
511
|
When trying to define a new label layout, it also helps to just see what a
|
|
495
|
-
single sheet of labels would look like. That is what the ~--template~ or
|
|
496
|
-
option
|
|
497
|
-
but ignores any label text.
|
|
512
|
+
single sheet of labels would look like. That is what the ~--template~ (or
|
|
513
|
+
~-T~) option gives you: it just prints an outline of where labels would be
|
|
514
|
+
printed but ignores any label text.
|
|
498
515
|
|
|
499
516
|
- ~-T~, ~--[no-]template~ :: Print a template of a page of labels and ignore
|
|
500
517
|
any content
|
|
501
518
|
|
|
519
|
+
**** Verbose Reporting
|
|
502
520
|
Finally, =labrat= will print a lot of information about what it's doing with
|
|
503
521
|
the ~--verbose~ or ~-v~ option. The information is printed to the standard
|
|
504
522
|
error output stream.
|
|
@@ -554,7 +572,7 @@ $ labrat -T -V --label=avery8987
|
|
|
554
572
|
|
|
555
573
|
And if you want to see it with sample label text filled in, try the following:
|
|
556
574
|
#+begin_example
|
|
557
|
-
$ labrat -V -c30 --label=avery8987 'Four score and seven years ago
|
|
575
|
+
$ labrat -V -c30 --label=avery8987 'Four score and seven years ago-->Our fathers brought forth'
|
|
558
576
|
#+end_example
|
|
559
577
|
|
|
560
578
|
*** Nesting label definitions
|
|
@@ -590,7 +608,7 @@ badge:
|
|
|
590
608
|
|
|
591
609
|
With this, you can print a file folder label with:
|
|
592
610
|
#+begin_example
|
|
593
|
-
$ labrat --label=ff 'Four score and seven years ago
|
|
611
|
+
$ labrat --label=ff 'Four score and seven years ago-->Our fathers brought forth'
|
|
594
612
|
#+end_example
|
|
595
613
|
|
|
596
614
|
And, if you want this to be your default label type, you can add to your user-level
|
|
@@ -602,13 +620,13 @@ label:
|
|
|
602
620
|
|
|
603
621
|
Now you can print the label without the ~--label~ option on the command-line:
|
|
604
622
|
#+begin_example
|
|
605
|
-
$ labrat 'Four score and seven years ago
|
|
623
|
+
$ labrat 'Four score and seven years ago-->Our fathers brought forth'
|
|
606
624
|
#+end_example
|
|
607
625
|
|
|
608
626
|
If you want to print badges, you have to specify the ~--label~ option explicitly on
|
|
609
627
|
the command-line:
|
|
610
628
|
#+begin_example
|
|
611
|
-
$ labrat -V -c14 --label=badge 'Daniel E. Doherty
|
|
629
|
+
$ labrat -V -c14 --label=badge 'Daniel E. Doherty-->(Amateur Programmer)'
|
|
612
630
|
#+end_example
|
|
613
631
|
|
|
614
632
|
*** A Caution about option order
|
|
@@ -618,7 +636,7 @@ override earlier settings. For example, given the configuration above, where
|
|
|
618
636
|
~ff~ is your default label type, the following will not do what you expect:
|
|
619
637
|
|
|
620
638
|
#+begin_example
|
|
621
|
-
$ labrat --font-style=italic --label=ff 'Four score and seven years ago
|
|
639
|
+
$ labrat --font-style=italic --label=ff 'Four score and seven years ago-->Our fathers brought forth'
|
|
622
640
|
#+end_example
|
|
623
641
|
|
|
624
642
|
You expect the label to be printed in italic, but the ~--label=ff~ option in
|
|
@@ -629,7 +647,7 @@ namely ~--font-style=bold~ from the user-level label database.
|
|
|
629
647
|
To get this to work, you have to put the command-line setting after the
|
|
630
648
|
~--label=ff~ option in order for it to take effect:
|
|
631
649
|
#+begin_example
|
|
632
|
-
$ labrat --label=ff --font-style=italic 'Four score and seven years ago
|
|
650
|
+
$ labrat --label=ff --font-style=italic 'Four score and seven years ago-->Our fathers brought forth'
|
|
633
651
|
#+end_example
|
|
634
652
|
|
|
635
653
|
* Development
|
data/bin/labrat
CHANGED
|
@@ -27,9 +27,9 @@ begin
|
|
|
27
27
|
if ops.template
|
|
28
28
|
[]
|
|
29
29
|
elsif !ops.in_file.blank?
|
|
30
|
-
Labrat.read_label_texts(ops.in_file, ops.
|
|
30
|
+
Labrat.read_label_texts(ops.in_file, ops.nl_sep)
|
|
31
31
|
elsif non_ops.empty?
|
|
32
|
-
Labrat.read_label_texts(nil, ops.
|
|
32
|
+
Labrat.read_label_texts(nil, ops.nl_sep)
|
|
33
33
|
else
|
|
34
34
|
[]
|
|
35
35
|
end
|
data/labrat.gemspec
CHANGED
|
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
|
|
|
15
15
|
the wonderful Prawn gem to generate PDF files with label formatting in mind. With
|
|
16
16
|
labrat properly configured, printing a label is as simple as:
|
|
17
17
|
|
|
18
|
-
$ labrat 'Income Taxes 2021
|
|
18
|
+
$ labrat 'Income Taxes 2021-->Example Maker, Inc.'
|
|
19
19
|
|
|
20
20
|
And you will get a two-line file-folder label with the text centered. It can
|
|
21
21
|
print on dymo label printer rolls or Avery sheet labels. It knows the layout of
|
|
@@ -45,13 +45,12 @@ DESC
|
|
|
45
45
|
spec.add_dependency "matrix"
|
|
46
46
|
spec.add_dependency "prawn", "~> 2.0"
|
|
47
47
|
spec.add_dependency "activesupport"
|
|
48
|
-
spec.add_dependency "methodize"
|
|
49
48
|
spec.add_dependency "fat_core"
|
|
50
49
|
|
|
51
|
-
# Note: pry-byebug requires that pry be within the '0.13.0' version box.
|
|
52
50
|
spec.add_development_dependency 'rake'
|
|
53
51
|
spec.add_development_dependency 'rspec'
|
|
54
|
-
spec.add_development_dependency 'pry'
|
|
52
|
+
spec.add_development_dependency 'pry'
|
|
53
|
+
spec.add_development_dependency 'simplecov'
|
|
55
54
|
spec.add_development_dependency 'debug', '>= 1.0.0'
|
|
56
55
|
spec.add_development_dependency 'rubocop-performance'
|
|
57
56
|
spec.add_development_dependency 'rubocop-shopify'
|
data/lib/config_files/config.yml
CHANGED
|
@@ -93,7 +93,12 @@
|
|
|
93
93
|
# A string sequence that is interpreted as a line-break can be defined. Such
|
|
94
94
|
# a sequence is particularly helpful when you provide the label text on the
|
|
95
95
|
# command-line, though it will be applied to file-read label texts as well.
|
|
96
|
-
# nlsep: '
|
|
96
|
+
# nlsep: '-->'
|
|
97
|
+
|
|
98
|
+
# A string sequence that indicates the start of a new label. Such a sequence
|
|
99
|
+
# is particularly helpful when you provide the label text on the command-line,
|
|
100
|
+
# though it will be applied to file-read label texts as well.
|
|
101
|
+
# label-sep: '==>'
|
|
97
102
|
|
|
98
103
|
# The name of the printer to use in substituting for the %p placeholder in the
|
|
99
104
|
# print-command setting below.
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
# out-file, etc., only things such as page and label dimensions that would
|
|
4
4
|
# apply to all users of a particular label type.
|
|
5
5
|
|
|
6
|
+
# 19.9x87.29mm
|
|
6
7
|
dymo30327:
|
|
7
|
-
page-width:
|
|
8
|
+
page-width: 25mm
|
|
8
9
|
page-height: 87mm
|
|
9
10
|
rows: 1
|
|
10
11
|
columns: 1
|
|
@@ -12,10 +13,10 @@ dymo30327:
|
|
|
12
13
|
bottom-page-margin: 0mm
|
|
13
14
|
left-page-margin: 5mm
|
|
14
15
|
right-page-margin: 5mm
|
|
15
|
-
top-pad:
|
|
16
|
-
bottom-pad:
|
|
17
|
-
left-pad:
|
|
18
|
-
right-pad:
|
|
16
|
+
top-pad: 1mm
|
|
17
|
+
bottom-pad: 1mm
|
|
18
|
+
left-pad: 1mm
|
|
19
|
+
right-pad: 1mm
|
|
19
20
|
landscape: true
|
|
20
21
|
|
|
21
22
|
duraready1034D:
|
|
@@ -208,7 +209,7 @@ avery5163:
|
|
|
208
209
|
column-gap: 5mm
|
|
209
210
|
landscape: false
|
|
210
211
|
|
|
211
|
-
avery15513
|
|
212
|
+
avery15513:
|
|
212
213
|
label: avery5163
|
|
213
214
|
|
|
214
215
|
label: avery5163
|
data/lib/labrat/arg_parser.rb
CHANGED
|
@@ -20,7 +20,7 @@ module Labrat
|
|
|
20
20
|
# Parse and set the options object to reflect the values of the given
|
|
21
21
|
# args, after merging in any prior settings into options. Return the
|
|
22
22
|
# resulting options instance. The args argument can be either a Hash or,
|
|
23
|
-
# as usual, an Array of Strings from the command-line.
|
|
23
|
+
# as usual, an Array of Strings from the command-line. Throw an exception
|
|
24
24
|
# for errors encountered parsing the args.
|
|
25
25
|
def parse(args, prior: {}, verbose: false)
|
|
26
26
|
options.msg = nil
|
|
@@ -48,7 +48,7 @@ module Labrat
|
|
|
48
48
|
parser.separator ""
|
|
49
49
|
parser.separator "Print or view (with -V) a label with the given <label-text>."
|
|
50
50
|
parser.separator "All non-option arguments are used for the label text with a special"
|
|
51
|
-
parser.separator "marker ('
|
|
51
|
+
parser.separator "marker ('-->' by default, see --nlsep) indicating a line-break."
|
|
52
52
|
parser.separator ""
|
|
53
53
|
parser.separator "Below, NUM indicates an integer, DIM, indicates a linear dimension,"
|
|
54
54
|
parser.separator "valid DIM units are: pt, mm, cm, dm, m, in, ft, yd."
|
|
@@ -198,8 +198,10 @@ module Labrat
|
|
|
198
198
|
# of common labels with their dimensions, so that --width and --height
|
|
199
199
|
# need not be specified.
|
|
200
200
|
def label_name_option
|
|
201
|
+
# options.raw_label = nil
|
|
201
202
|
parser.on("-lNAME", "--label=NAME",
|
|
202
203
|
"Use options for label type NAME from label database") do |name|
|
|
204
|
+
options.raw_label ||= name
|
|
203
205
|
if labels_seen.include?(name)
|
|
204
206
|
msg = "label option '#{name}' has circular reference"
|
|
205
207
|
labels_seen.each do |nm|
|
|
@@ -236,8 +238,17 @@ module Labrat
|
|
|
236
238
|
warn "#{p}\n"
|
|
237
239
|
end
|
|
238
240
|
warn "\nKnown labels:\n"
|
|
239
|
-
lab_names.
|
|
240
|
-
|
|
241
|
+
max_width = lab_names.max_by(&:length).length
|
|
242
|
+
ngrps = (78 / (max_width + 1)).floor
|
|
243
|
+
|
|
244
|
+
lab_names.sort_by do |nm|
|
|
245
|
+
nm.match(/\A([a-zA-z]+)([0-9]+)?/)
|
|
246
|
+
[$1, $2.to_i || 0]
|
|
247
|
+
end
|
|
248
|
+
.groups_of(ngrps).each do |_n, grp|
|
|
249
|
+
fmt = "%-#{max_width+1}s"
|
|
250
|
+
grp = grp.map{|nm| sprintf(fmt, nm) }
|
|
251
|
+
warn " #{grp.join(' ')}"
|
|
241
252
|
end
|
|
242
253
|
end
|
|
243
254
|
exit(0)
|
|
@@ -350,11 +361,11 @@ module Labrat
|
|
|
350
361
|
|
|
351
362
|
# On a command-line, specifying where a line-break should occur is not
|
|
352
363
|
# convenient when shell interpretation and quoting rules are taken into
|
|
353
|
-
# account. This allows the user to use some distinctive marker ('
|
|
364
|
+
# account. This allows the user to use some distinctive marker ('-->' by
|
|
354
365
|
# default) to designate where a line break should occur.
|
|
355
366
|
def nl_sep_option
|
|
356
367
|
parser.on("-nSEP", "--nl-sep=SEPARATOR",
|
|
357
|
-
"Specify text to be translated into a line-break (default '
|
|
368
|
+
"Specify text to be translated into a line-break (default '-->')") do |nl|
|
|
358
369
|
options.nl_sep = nl
|
|
359
370
|
warn " ::nl-sep <- '#{nl}'::" if options.verbose
|
|
360
371
|
end
|
|
@@ -365,7 +376,7 @@ module Labrat
|
|
|
365
376
|
# designate where a new label shoul be started.
|
|
366
377
|
def label_sep_option
|
|
367
378
|
parser.on("--label-sep=SEPARATOR",
|
|
368
|
-
"Specify text that indicates the start of a new label (default '
|
|
379
|
+
"Specify text that indicates the start of a new label (default '==>')") do |ls|
|
|
369
380
|
options.label-sep = ls
|
|
370
381
|
warn " ::label-sep <- '#{ls}'::" if options.verbose
|
|
371
382
|
end
|
data/lib/labrat/config.rb
CHANGED
|
@@ -71,8 +71,15 @@ module Labrat
|
|
|
71
71
|
files.each do |f|
|
|
72
72
|
next unless File.readable?(f)
|
|
73
73
|
|
|
74
|
-
yml_hash = YAML.load(File.read(f))
|
|
75
|
-
|
|
74
|
+
yml_hash = YAML.load(File.read(f))
|
|
75
|
+
next unless yml_hash
|
|
76
|
+
|
|
77
|
+
if yml_hash.is_a?(Hash)
|
|
78
|
+
yml_hash = yml_hash.methodize
|
|
79
|
+
else
|
|
80
|
+
raise "Error loading file #{f}:\n#{File.read(f)[0..500]}"
|
|
81
|
+
end
|
|
82
|
+
yml_hash.report("Merging config from file '#{f}") if verbose
|
|
76
83
|
hash.deep_merge!(yml_hash)
|
|
77
84
|
end
|
|
78
85
|
hash
|
data/lib/labrat/label.rb
CHANGED
|
@@ -57,11 +57,15 @@ module Labrat
|
|
|
57
57
|
warn ""
|
|
58
58
|
end
|
|
59
59
|
if ops.template
|
|
60
|
-
# Replace any texts with the numbers and show the grid.
|
|
61
|
-
|
|
60
|
+
# Replace any texts with the numbers, the name of the label (and alias) and show the grid.
|
|
61
|
+
lab_text = ops.raw_label || ops.label
|
|
62
|
+
if ops.label != ops.raw_label
|
|
63
|
+
lab_text += "\n(#{ops.label})"
|
|
64
|
+
end
|
|
65
|
+
self.texts = (1..(ops.rows * ops.columns)).map {|n| "#{n}\n#{lab_text}"}
|
|
62
66
|
ops.font_name = 'Helvetica'
|
|
63
67
|
ops.font_style = 'bold'
|
|
64
|
-
ops.font_size =
|
|
68
|
+
ops.font_size = 11
|
|
65
69
|
pdf.grid.show_all
|
|
66
70
|
end
|
|
67
71
|
raise EmptyLabelError, "Empty label" if waste_of_labels?
|
data/lib/labrat/options.rb
CHANGED
|
@@ -6,7 +6,7 @@ module Labrat
|
|
|
6
6
|
# and perhaps environment. An Options instance can be handed off to the
|
|
7
7
|
# label-printing objects to inform its formatting, printing, etc.
|
|
8
8
|
class Options
|
|
9
|
-
attr_accessor :label, :page_width, :page_height,
|
|
9
|
+
attr_accessor :label, :raw_label, :page_width, :page_height,
|
|
10
10
|
:left_page_margin, :right_page_margin,
|
|
11
11
|
:top_page_margin, :bottom_page_margin,
|
|
12
12
|
:rows, :columns, :row_gap, :column_gap, :landscape,
|
|
@@ -22,6 +22,7 @@ module Labrat
|
|
|
22
22
|
# Initialize with an optional hash of default values for the attributes.
|
|
23
23
|
def initialize(**init)
|
|
24
24
|
self.label = init[:label] || nil
|
|
25
|
+
self.raw_label = nil
|
|
25
26
|
# Per-page attributes
|
|
26
27
|
self.page_width = init[:page_width] || 24.mm
|
|
27
28
|
self.page_height = init[:page_height] || 87.mm
|
|
@@ -49,8 +50,8 @@ module Labrat
|
|
|
49
50
|
self.font_size = init[:font_size] || 12
|
|
50
51
|
# Input attributes
|
|
51
52
|
self.in_file = init[:in_file] || nil
|
|
52
|
-
self.nl_sep = init[:nl_sep] || '
|
|
53
|
-
self.label_sep = init[:label_sep] || '
|
|
53
|
+
self.nl_sep = init[:nl_sep] || '-->'
|
|
54
|
+
self.label_sep = init[:label_sep] || '==>'
|
|
54
55
|
self.copies = init[:copies] || 1
|
|
55
56
|
# Output attributes
|
|
56
57
|
self.printer = init[:printer] || ENV['LABRAT_PRINTER'] || ENV['PRINTER'] || 'dymo'
|
|
@@ -84,6 +85,8 @@ module Labrat
|
|
|
84
85
|
end
|
|
85
86
|
warn ""
|
|
86
87
|
end
|
|
88
|
+
# We want raw_label to reflect what the user typed on the command-line
|
|
89
|
+
file_options.raw_label = nil
|
|
87
90
|
Labrat::ArgParser.new.parse(args, prior: file_options, verbose: verbose)
|
|
88
91
|
end
|
|
89
92
|
|
|
@@ -124,6 +127,7 @@ module Labrat
|
|
|
124
127
|
def to_hash
|
|
125
128
|
{
|
|
126
129
|
label: label,
|
|
130
|
+
raw_label: raw_label,
|
|
127
131
|
page_width: page_width,
|
|
128
132
|
page_height: page_height,
|
|
129
133
|
left_page_margin: left_page_margin,
|
data/lib/labrat/version.rb
CHANGED
data/lib/labrat.rb
CHANGED
data/lib/lisp/labrat.el
CHANGED
|
@@ -22,7 +22,7 @@ e.g. ~/.rbenv/shims/labrat, for an rbenv ruby installation."
|
|
|
22
22
|
:type 'string
|
|
23
23
|
:group 'labrat)
|
|
24
24
|
|
|
25
|
-
(defcustom labrat-nl-sep "
|
|
25
|
+
(defcustom labrat-nl-sep "-->"
|
|
26
26
|
"String to mark newlines in label text.
|
|
27
27
|
|
|
28
28
|
If you change this, you need to make a corresponding change in your
|
|
@@ -30,7 +30,7 @@ labrat configuration at ~/.config/labrat/config.yml."
|
|
|
30
30
|
:type 'string
|
|
31
31
|
:group 'labrat)
|
|
32
32
|
|
|
33
|
-
(defcustom labrat-label-sep "
|
|
33
|
+
(defcustom labrat-label-sep "==>"
|
|
34
34
|
"String to mark the separation between labels on the labrat command-line.
|
|
35
35
|
|
|
36
36
|
If you change this, you need to make a corresponding change in your
|
|
@@ -88,10 +88,10 @@ returned"
|
|
|
88
88
|
This invokes the \"labrat -V\ <label>\" command with the
|
|
89
89
|
paragraph at or before point inserted in the <label> position,
|
|
90
90
|
but with each new-line replaced with the value of the variable
|
|
91
|
-
labrat-nl-sep, '
|
|
91
|
+
labrat-nl-sep, '-->' by default."
|
|
92
92
|
(interactive)
|
|
93
|
-
(call-process labrat-executable nil
|
|
94
|
-
"-V" (labrat/pars-in-region)))
|
|
93
|
+
(call-process labrat-executable nil (get-buffer-create "*labrat*") nil
|
|
94
|
+
"-V" "-o ~/labrat.pdf""-V --out-file=~/labrat.pdf" (labrat/pars-in-region)))
|
|
95
95
|
|
|
96
96
|
(defun labrat-print ()
|
|
97
97
|
"Print the paragraph at or before point as a label with labrat.
|
|
@@ -99,10 +99,10 @@ labrat-nl-sep, '++' by default."
|
|
|
99
99
|
This invokes the \"labrat -P <label>\" command with the paragraph
|
|
100
100
|
at or before point inserted in the <label> position, but with
|
|
101
101
|
each new-line replaced with the value of the variable
|
|
102
|
-
labrat-nl-sep, '
|
|
102
|
+
labrat-nl-sep, '-->' by default."
|
|
103
103
|
(interactive)
|
|
104
|
-
(call-process labrat-executable nil
|
|
105
|
-
(labrat/pars-in-region)))
|
|
104
|
+
(call-process labrat-executable nil (buffer-name (get-buffer-create "*labrat*")) nil
|
|
105
|
+
"-o ~/labrat.pdf" (labrat/pars-in-region)))
|
|
106
106
|
|
|
107
107
|
(provide 'labrat)
|
|
108
108
|
;;; labrat.el ends here
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: labrat
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daniel E. Doherty
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-01-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: matrix
|
|
@@ -53,7 +53,7 @@ dependencies:
|
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '0'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
56
|
+
name: fat_core
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - ">="
|
|
@@ -67,13 +67,13 @@ dependencies:
|
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '0'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
70
|
+
name: rake
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
73
|
- - ">="
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
75
|
version: '0'
|
|
76
|
-
type: :
|
|
76
|
+
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
@@ -81,7 +81,7 @@ dependencies:
|
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
82
|
version: '0'
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
84
|
+
name: rspec
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
86
86
|
requirements:
|
|
87
87
|
- - ">="
|
|
@@ -95,7 +95,7 @@ dependencies:
|
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
96
|
version: '0'
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
98
|
+
name: pry
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
100
100
|
requirements:
|
|
101
101
|
- - ">="
|
|
@@ -109,19 +109,19 @@ dependencies:
|
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
110
|
version: '0'
|
|
111
111
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name:
|
|
112
|
+
name: simplecov
|
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
|
114
114
|
requirements:
|
|
115
|
-
- - "
|
|
115
|
+
- - ">="
|
|
116
116
|
- !ruby/object:Gem::Version
|
|
117
|
-
version: 0
|
|
117
|
+
version: '0'
|
|
118
118
|
type: :development
|
|
119
119
|
prerelease: false
|
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
121
|
requirements:
|
|
122
|
-
- - "
|
|
122
|
+
- - ">="
|
|
123
123
|
- !ruby/object:Gem::Version
|
|
124
|
-
version: 0
|
|
124
|
+
version: '0'
|
|
125
125
|
- !ruby/object:Gem::Dependency
|
|
126
126
|
name: debug
|
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -184,7 +184,7 @@ description: |2+
|
|
|
184
184
|
the wonderful Prawn gem to generate PDF files with label formatting in mind. With
|
|
185
185
|
labrat properly configured, printing a label is as simple as:
|
|
186
186
|
|
|
187
|
-
$ labrat 'Income Taxes 2021
|
|
187
|
+
$ labrat 'Income Taxes 2021-->Example Maker, Inc.'
|
|
188
188
|
|
|
189
189
|
And you will get a two-line file-folder label with the text centered. It can
|
|
190
190
|
print on dymo label printer rolls or Avery sheet labels. It knows the layout of
|
|
@@ -204,10 +204,12 @@ files:
|
|
|
204
204
|
- ".gitignore"
|
|
205
205
|
- ".rspec"
|
|
206
206
|
- ".rubocop.yml"
|
|
207
|
+
- ".simplecov"
|
|
207
208
|
- ".travis.yml"
|
|
208
209
|
- CHANGELOG.md
|
|
209
210
|
- Gemfile
|
|
210
211
|
- Gemfile.lock
|
|
212
|
+
- Notes.org
|
|
211
213
|
- README.org
|
|
212
214
|
- Rakefile
|
|
213
215
|
- TODO.org
|
|
@@ -254,7 +256,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
254
256
|
- !ruby/object:Gem::Version
|
|
255
257
|
version: '0'
|
|
256
258
|
requirements: []
|
|
257
|
-
rubygems_version: 3.
|
|
259
|
+
rubygems_version: 3.4.1
|
|
258
260
|
signing_key:
|
|
259
261
|
specification_version: 4
|
|
260
262
|
summary: Command-line and Emacs label print software.
|