stationery 0.1.0 → 0.2.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.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +94 -1
  3. data/README.md +358 -25
  4. data/exe/stationery +6 -0
  5. data/lib/generators/stationery/fonts_generator.rb +24 -0
  6. data/lib/stationery/builder.rb +25 -3
  7. data/lib/stationery/canvas/debug.rb +26 -0
  8. data/lib/stationery/canvas/path.rb +22 -12
  9. data/lib/stationery/canvas/text.rb +8 -5
  10. data/lib/stationery/canvas.rb +25 -8
  11. data/lib/stationery/cli/fonts.rb +85 -0
  12. data/lib/stationery/cli/render.rb +137 -0
  13. data/lib/stationery/cli.rb +74 -0
  14. data/lib/stationery/document.rb +53 -9
  15. data/lib/stationery/elements/lists.rb +58 -0
  16. data/lib/stationery/elements/rich.rb +27 -0
  17. data/lib/stationery/elements.rb +88 -12
  18. data/lib/stationery/errors.rb +13 -1
  19. data/lib/stationery/fonts/bundled.rb +25 -0
  20. data/lib/stationery/fonts/catalog.rb +101 -0
  21. data/lib/stationery/fonts/cff.rb +140 -0
  22. data/lib/stationery/fonts/cff_subset.rb +145 -0
  23. data/lib/stationery/fonts/data/Inter-Bold.ttf +0 -0
  24. data/lib/stationery/fonts/data/Inter-BoldItalic.ttf +0 -0
  25. data/lib/stationery/fonts/data/Inter-Italic.ttf +0 -0
  26. data/lib/stationery/fonts/data/Inter-Regular.ttf +0 -0
  27. data/lib/stationery/fonts/data/OFL.txt +92 -0
  28. data/lib/stationery/fonts/data/README.md +14 -0
  29. data/lib/stationery/fonts/embedding/base.rb +56 -0
  30. data/lib/stationery/fonts/embedding/cff.rb +35 -0
  31. data/lib/stationery/fonts/embedding/true_type.rb +35 -0
  32. data/lib/stationery/fonts/fallback.rb +58 -0
  33. data/lib/stationery/fonts/family.rb +11 -0
  34. data/lib/stationery/fonts/font.rb +52 -88
  35. data/lib/stationery/fonts/font_book.rb +46 -8
  36. data/lib/stationery/fonts/glyph_run.rb +38 -0
  37. data/lib/stationery/fonts/gpos/class_def.rb +25 -0
  38. data/lib/stationery/fonts/gpos/coverage.rb +20 -0
  39. data/lib/stationery/fonts/gpos/pair_pos.rb +83 -0
  40. data/lib/stationery/fonts/gpos.rb +62 -0
  41. data/lib/stationery/fonts/installer.rb +121 -0
  42. data/lib/stationery/fonts/kern_table.rb +52 -0
  43. data/lib/stationery/fonts/kerning.rb +17 -0
  44. data/lib/stationery/fonts/packs.rb +45 -0
  45. data/lib/stationery/fonts/sfnt_metrics.rb +51 -0
  46. data/lib/stationery/fonts/to_unicode.rb +36 -0
  47. data/lib/stationery/fonts/true_type.rb +32 -49
  48. data/lib/stationery/html/document.rb +11 -0
  49. data/lib/stationery/html/tokenizer.rb +74 -0
  50. data/lib/stationery/html/tree_builder/blocks.rb +137 -0
  51. data/lib/stationery/html/tree_builder/collector.rb +50 -0
  52. data/lib/stationery/html/tree_builder.rb +72 -0
  53. data/lib/stationery/html/whitespace.rb +43 -0
  54. data/lib/stationery/layout/box.rb +85 -16
  55. data/lib/stationery/layout/flow.rb +48 -15
  56. data/lib/stationery/layout/image.rb +1 -0
  57. data/lib/stationery/layout/list_item.rb +89 -0
  58. data/lib/stationery/layout/mark.rb +58 -0
  59. data/lib/stationery/layout/node.rb +26 -2
  60. data/lib/stationery/layout/paginator.rb +35 -6
  61. data/lib/stationery/layout/positioned.rb +3 -1
  62. data/lib/stationery/layout/row.rb +34 -4
  63. data/lib/stationery/layout/svg.rb +45 -0
  64. data/lib/stationery/layout/table/cell.rb +33 -6
  65. data/lib/stationery/layout/table/grid.rb +93 -0
  66. data/lib/stationery/layout/table/row_splitter.rb +36 -0
  67. data/lib/stationery/layout/table/selection.rb +3 -2
  68. data/lib/stationery/layout/table.rb +69 -23
  69. data/lib/stationery/layout/table_of_contents/entry.rb +56 -0
  70. data/lib/stationery/layout/table_of_contents.rb +43 -0
  71. data/lib/stationery/layout/text.rb +5 -4
  72. data/lib/stationery/layout/wrap.rb +78 -0
  73. data/lib/stationery/list_markers.rb +47 -0
  74. data/lib/stationery/markdown/block_parser/containers.rb +94 -0
  75. data/lib/stationery/markdown/block_parser/tables.rb +54 -0
  76. data/lib/stationery/markdown/block_parser.rb +141 -0
  77. data/lib/stationery/markdown/document.rb +50 -0
  78. data/lib/stationery/markdown/inline_parser/emphasis.rb +80 -0
  79. data/lib/stationery/markdown/inline_parser/links.rb +70 -0
  80. data/lib/stationery/markdown/inline_parser/nodes.rb +39 -0
  81. data/lib/stationery/markdown/inline_parser.rb +89 -0
  82. data/lib/stationery/minitest.rb +33 -0
  83. data/lib/stationery/outline.rb +37 -0
  84. data/lib/stationery/page.rb +18 -4
  85. data/lib/stationery/page_templates.rb +33 -10
  86. data/lib/stationery/pdf/assembler.rb +18 -7
  87. data/lib/stationery/pdf/outline_writer.rb +72 -0
  88. data/lib/stationery/pdf/serializer.rb +5 -1
  89. data/lib/stationery/pdf/writer.rb +4 -0
  90. data/lib/stationery/preview.rb +64 -0
  91. data/lib/stationery/rails/previews_controller.rb +61 -0
  92. data/lib/stationery/rails.rb +2 -0
  93. data/lib/stationery/railtie.rb +60 -0
  94. data/lib/stationery/regions.rb +67 -0
  95. data/lib/stationery/rich/nodes.rb +55 -0
  96. data/lib/stationery/rich/renderer/inlines.rb +53 -0
  97. data/lib/stationery/rich/renderer.rb +121 -0
  98. data/lib/stationery/rich/styles.rb +34 -0
  99. data/lib/stationery/rspec.rb +6 -0
  100. data/lib/stationery/structure.rb +78 -0
  101. data/lib/stationery/svg/arc.rb +91 -0
  102. data/lib/stationery/svg/document.rb +73 -0
  103. data/lib/stationery/svg/parser.rb +38 -0
  104. data/lib/stationery/svg/path_data.rb +137 -0
  105. data/lib/stationery/svg/shapes.rb +54 -0
  106. data/lib/stationery/svg/style.rb +68 -0
  107. data/lib/stationery/svg/transform.rb +43 -0
  108. data/lib/stationery/testing/inspector.rb +98 -0
  109. data/lib/stationery/testing/matchers.rb +123 -0
  110. data/lib/stationery/text/entities/html4.rb +49 -0
  111. data/lib/stationery/text/entities.rb +6 -1
  112. data/lib/stationery/text/line.rb +8 -2
  113. data/lib/stationery/text/paragraph.rb +32 -11
  114. data/lib/stationery/text/runs_builder.rb +9 -1
  115. data/lib/stationery/text/style.rb +2 -2
  116. data/lib/stationery/text/wrapper.rb +3 -2
  117. data/lib/stationery/version.rb +1 -1
  118. data/lib/stationery/warnings.rb +65 -0
  119. data/lib/stationery.rb +51 -0
  120. metadata +85 -4
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stationery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikael Henriksson
8
- bindir: bin
8
+ bindir: exe
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies: []
@@ -18,32 +18,72 @@ description: |
18
18
  headless browser.
19
19
  email:
20
20
  - mikael@mhenrixon.com
21
- executables: []
21
+ executables:
22
+ - stationery
22
23
  extensions: []
23
24
  extra_rdoc_files: []
24
25
  files:
25
26
  - CHANGELOG.md
26
27
  - LICENSE.txt
27
28
  - README.md
29
+ - exe/stationery
30
+ - lib/generators/stationery/fonts_generator.rb
28
31
  - lib/stationery.rb
29
32
  - lib/stationery/builder.rb
30
33
  - lib/stationery/canvas.rb
34
+ - lib/stationery/canvas/debug.rb
31
35
  - lib/stationery/canvas/path.rb
32
36
  - lib/stationery/canvas/text.rb
37
+ - lib/stationery/cli.rb
38
+ - lib/stationery/cli/fonts.rb
39
+ - lib/stationery/cli/render.rb
33
40
  - lib/stationery/color.rb
34
41
  - lib/stationery/component.rb
35
42
  - lib/stationery/document.rb
36
43
  - lib/stationery/elements.rb
44
+ - lib/stationery/elements/lists.rb
45
+ - lib/stationery/elements/rich.rb
37
46
  - lib/stationery/errors.rb
47
+ - lib/stationery/fonts/bundled.rb
48
+ - lib/stationery/fonts/catalog.rb
49
+ - lib/stationery/fonts/cff.rb
50
+ - lib/stationery/fonts/cff_subset.rb
38
51
  - lib/stationery/fonts/cmap.rb
52
+ - lib/stationery/fonts/data/Inter-Bold.ttf
53
+ - lib/stationery/fonts/data/Inter-BoldItalic.ttf
54
+ - lib/stationery/fonts/data/Inter-Italic.ttf
55
+ - lib/stationery/fonts/data/Inter-Regular.ttf
56
+ - lib/stationery/fonts/data/OFL.txt
57
+ - lib/stationery/fonts/data/README.md
58
+ - lib/stationery/fonts/embedding/base.rb
59
+ - lib/stationery/fonts/embedding/cff.rb
60
+ - lib/stationery/fonts/embedding/true_type.rb
61
+ - lib/stationery/fonts/fallback.rb
39
62
  - lib/stationery/fonts/family.rb
40
63
  - lib/stationery/fonts/font.rb
41
64
  - lib/stationery/fonts/font_book.rb
65
+ - lib/stationery/fonts/glyph_run.rb
66
+ - lib/stationery/fonts/gpos.rb
67
+ - lib/stationery/fonts/gpos/class_def.rb
68
+ - lib/stationery/fonts/gpos/coverage.rb
69
+ - lib/stationery/fonts/gpos/pair_pos.rb
70
+ - lib/stationery/fonts/installer.rb
71
+ - lib/stationery/fonts/kern_table.rb
72
+ - lib/stationery/fonts/kerning.rb
42
73
  - lib/stationery/fonts/name_table.rb
74
+ - lib/stationery/fonts/packs.rb
43
75
  - lib/stationery/fonts/registry.rb
76
+ - lib/stationery/fonts/sfnt_metrics.rb
44
77
  - lib/stationery/fonts/subset.rb
78
+ - lib/stationery/fonts/to_unicode.rb
45
79
  - lib/stationery/fonts/true_type.rb
46
80
  - lib/stationery/geometry.rb
81
+ - lib/stationery/html/document.rb
82
+ - lib/stationery/html/tokenizer.rb
83
+ - lib/stationery/html/tree_builder.rb
84
+ - lib/stationery/html/tree_builder/blocks.rb
85
+ - lib/stationery/html/tree_builder/collector.rb
86
+ - lib/stationery/html/whitespace.rb
47
87
  - lib/stationery/images/cache.rb
48
88
  - lib/stationery/images/images.rb
49
89
  - lib/stationery/images/jpeg.rb
@@ -53,25 +93,65 @@ files:
53
93
  - lib/stationery/layout/flow.rb
54
94
  - lib/stationery/layout/image.rb
55
95
  - lib/stationery/layout/leaves.rb
96
+ - lib/stationery/layout/list_item.rb
97
+ - lib/stationery/layout/mark.rb
56
98
  - lib/stationery/layout/node.rb
57
99
  - lib/stationery/layout/paginator.rb
58
100
  - lib/stationery/layout/positioned.rb
59
101
  - lib/stationery/layout/row.rb
102
+ - lib/stationery/layout/svg.rb
60
103
  - lib/stationery/layout/table.rb
61
104
  - lib/stationery/layout/table/cell.rb
105
+ - lib/stationery/layout/table/grid.rb
106
+ - lib/stationery/layout/table/row_splitter.rb
62
107
  - lib/stationery/layout/table/selection.rb
63
108
  - lib/stationery/layout/table/widths.rb
109
+ - lib/stationery/layout/table_of_contents.rb
110
+ - lib/stationery/layout/table_of_contents/entry.rb
64
111
  - lib/stationery/layout/text.rb
112
+ - lib/stationery/layout/wrap.rb
113
+ - lib/stationery/list_markers.rb
114
+ - lib/stationery/markdown/block_parser.rb
115
+ - lib/stationery/markdown/block_parser/containers.rb
116
+ - lib/stationery/markdown/block_parser/tables.rb
117
+ - lib/stationery/markdown/document.rb
118
+ - lib/stationery/markdown/inline_parser.rb
119
+ - lib/stationery/markdown/inline_parser/emphasis.rb
120
+ - lib/stationery/markdown/inline_parser/links.rb
121
+ - lib/stationery/markdown/inline_parser/nodes.rb
122
+ - lib/stationery/minitest.rb
123
+ - lib/stationery/outline.rb
65
124
  - lib/stationery/page.rb
66
125
  - lib/stationery/page_templates.rb
67
126
  - lib/stationery/pdf/assembler.rb
127
+ - lib/stationery/pdf/outline_writer.rb
68
128
  - lib/stationery/pdf/serializer.rb
69
129
  - lib/stationery/pdf/stream.rb
70
130
  - lib/stationery/pdf/types.rb
71
131
  - lib/stationery/pdf/writer.rb
132
+ - lib/stationery/preview.rb
72
133
  - lib/stationery/rails.rb
134
+ - lib/stationery/rails/previews_controller.rb
135
+ - lib/stationery/railtie.rb
136
+ - lib/stationery/regions.rb
73
137
  - lib/stationery/resources.rb
138
+ - lib/stationery/rich/nodes.rb
139
+ - lib/stationery/rich/renderer.rb
140
+ - lib/stationery/rich/renderer/inlines.rb
141
+ - lib/stationery/rich/styles.rb
142
+ - lib/stationery/rspec.rb
143
+ - lib/stationery/structure.rb
144
+ - lib/stationery/svg/arc.rb
145
+ - lib/stationery/svg/document.rb
146
+ - lib/stationery/svg/parser.rb
147
+ - lib/stationery/svg/path_data.rb
148
+ - lib/stationery/svg/shapes.rb
149
+ - lib/stationery/svg/style.rb
150
+ - lib/stationery/svg/transform.rb
151
+ - lib/stationery/testing/inspector.rb
152
+ - lib/stationery/testing/matchers.rb
74
153
  - lib/stationery/text/entities.rb
154
+ - lib/stationery/text/entities/html4.rb
75
155
  - lib/stationery/text/line.rb
76
156
  - lib/stationery/text/markup.rb
77
157
  - lib/stationery/text/paragraph.rb
@@ -79,6 +159,7 @@ files:
79
159
  - lib/stationery/text/style.rb
80
160
  - lib/stationery/text/wrapper.rb
81
161
  - lib/stationery/version.rb
162
+ - lib/stationery/warnings.rb
82
163
  homepage: https://github.com/zoolutions/stationery
83
164
  licenses:
84
165
  - MIT
@@ -101,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
182
  - !ruby/object:Gem::Version
102
183
  version: '0'
103
184
  requirements: []
104
- rubygems_version: 4.0.19
185
+ rubygems_version: 3.6.9
105
186
  specification_version: 4
106
187
  summary: 'Pure-Ruby, Phlex-style PDF documents: box layout, TrueType fonts, images.
107
188
  No Prawn, no Chrome.'