skripsi-generator 1.0.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 +7 -0
- data/example/logo.png +0 -0
- data/example/skripsi.rb +33 -0
- data/example/test_webgen.rb +14 -0
- data/extconf.rb +11 -0
- data/include/lokasidef.h +39 -0
- data/include/ntapdef.h +79 -0
- data/include/risetdef.h +598 -0
- data/include/skripsi.h +7 -0
- data/include/temadef.h +129 -0
- data/include/urai.h +36 -0
- data/lib/adaptor/adaptor.rb +104 -0
- data/lib/adaptor/unduh.rb +29 -0
- data/lib/adaptor/web_generate.rb +82 -0
- data/lib/skripsi.rb +13 -0
- data/lib/sks/alat/document.rb +145 -0
- data/lib/sks/alat/font_table.rb +75 -0
- data/lib/sks/alat/numbering.rb +287 -0
- data/lib/sks/alat/prop_app.rb +85 -0
- data/lib/sks/alat/prop_core.rb +38 -0
- data/lib/sks/alat/prop_custom.rb +30 -0
- data/lib/sks/alat/rels.rb +33 -0
- data/lib/sks/alat/rels_document.rb +38 -0
- data/lib/sks/alat/setting.rb +89 -0
- data/lib/sks/alat/style.rb +432 -0
- data/lib/sks/alat/theme.rb +311 -0
- data/lib/sks/alat/web.rb +34 -0
- data/lib/sks/alat.rb +41 -0
- data/lib/sks/dasar.rb +29 -0
- data/lib/sks/footer/dasar.rb +0 -0
- data/lib/sks/header/dasar.rb +0 -0
- data/lib/sks/istimewa/dasar.rb +0 -0
- data/lib/sks/media/dasar.rb +14 -0
- data/lib/sks/paragraph/dasar.rb +114 -0
- data/lib/sks/remote.rb +28 -0
- data/lib/sks/section/dasar.rb +33 -0
- data/lib/sks/sks.rb +65 -0
- data/lib/transformasi/web.rb +34 -0
- data/lib/xml/administrasi.rb +124 -0
- data/lib/xml/builder.rb +269 -0
- data/lib/xml/dasar.rb +17 -0
- data/lib/xml/media.rb +66 -0
- data/lib/xml/paragraph.rb +9 -0
- data/lib/xml/section.rb +84 -0
- data/src/jembatan.c +34 -0
- data/src/sisi.c +1665 -0
- data/src/skripsi.c +77 -0
- data/src/urai.c +70 -0
- metadata +162 -0
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
module SistemKebut
|
|
2
|
+
module Peralatan
|
|
3
|
+
module Gudang
|
|
4
|
+
THEME = {
|
|
5
|
+
DRAWING_MAIN: :DRAWING_MAIN_VAL,
|
|
6
|
+
OFFICE_RELATIONSHIP: :OFFICE_RELATIONSHIP_VAL
|
|
7
|
+
}
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
module KebutuhanDasar
|
|
11
|
+
def generate_theme
|
|
12
|
+
inner_generate_theme
|
|
13
|
+
.catat_administrasi(:LOKASI_WORD_TEMA)
|
|
14
|
+
.catat_arsip
|
|
15
|
+
.struktur
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
private
|
|
19
|
+
def inner_generate_theme
|
|
20
|
+
SistemKebut::XML::Builder.new do |xml|
|
|
21
|
+
xml.theme(Gudang::THEME, name: :OFFICE_VAL) do
|
|
22
|
+
xml.themeElements do
|
|
23
|
+
inner_theme_elements(xml)
|
|
24
|
+
end
|
|
25
|
+
xml.objectDefaults
|
|
26
|
+
xml.extraClrSchemeLst
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def inner_theme_elements(xml)
|
|
32
|
+
xml.clrScheme(name: :OFFICE_VAL) do
|
|
33
|
+
xml.dk1 do
|
|
34
|
+
xml.sysClr(val: :WINDOW_TEXT, lastClr: :FIXNUM_ZERO)
|
|
35
|
+
end
|
|
36
|
+
xml.lt1 do
|
|
37
|
+
xml.sysClr(val: :THEME_WINDOW, lastClr: :FIXNUM_ONE)
|
|
38
|
+
end
|
|
39
|
+
xml.dk2 do
|
|
40
|
+
xml.srgbClr(val: :DK2)
|
|
41
|
+
end
|
|
42
|
+
xml.lt2 do
|
|
43
|
+
xml.srgbClr(val: :LT2)
|
|
44
|
+
end
|
|
45
|
+
xml.accent1 do
|
|
46
|
+
xml.srgbClr(val: :ACCENT1)
|
|
47
|
+
end
|
|
48
|
+
xml.accent2 do
|
|
49
|
+
xml.srgbClr(val: :ACCENT2)
|
|
50
|
+
end
|
|
51
|
+
xml.accent3 do
|
|
52
|
+
xml.srgbClr(val: :ACCENT3)
|
|
53
|
+
end
|
|
54
|
+
xml.accent4 do
|
|
55
|
+
xml.srgbClr(val: :ACCENT4)
|
|
56
|
+
end
|
|
57
|
+
xml.accent5 do
|
|
58
|
+
xml.srgbClr(val: :ACCENT5)
|
|
59
|
+
end
|
|
60
|
+
xml.accent6 do
|
|
61
|
+
xml.srgbClr(val: :ACCENT6)
|
|
62
|
+
end
|
|
63
|
+
xml.hlink do
|
|
64
|
+
xml.srgbClr(val: :HIGHLIGHT_LINK)
|
|
65
|
+
end
|
|
66
|
+
xml.folHlink do
|
|
67
|
+
xml.srgbClr(val: :FOLLOW_LINK)
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
xml.fontScheme(name: :OFFICE_VAL) do
|
|
71
|
+
xml.majorFont do
|
|
72
|
+
xml.latin(typeface: :CAMBRIA)
|
|
73
|
+
xml.ea(typeface: '')
|
|
74
|
+
xml.cs(typeface: '')
|
|
75
|
+
xml.font(script: :JAPAN, typeface: :JAPAN_MAJOR_VAL)
|
|
76
|
+
xml.font(script: :HONGKONG, typeface: :HONGKONG_VAL)
|
|
77
|
+
xml.font(script: :HAN, typeface: :HAN_VAL)
|
|
78
|
+
xml.font(script: :HANT, typeface: :HANT_VAL)
|
|
79
|
+
xml.font(script: :ARAB, typeface: :ROMAN_VAL)
|
|
80
|
+
xml.font(script: :HEBR, typeface: :ROMAN_VAL)
|
|
81
|
+
xml.font(script: :THAI, typeface: :ANGSANA_VAL)
|
|
82
|
+
xml.font(script: :ETHI, typeface: :NYALA_VAL)
|
|
83
|
+
xml.font(script: :BENG, typeface: :VRINDA_VAL)
|
|
84
|
+
xml.font(script: :GUJARAT, typeface: :SHRUTI_VAL)
|
|
85
|
+
xml.font(script: :KHEMR, typeface: :MOOL_VAL)
|
|
86
|
+
xml.font(script: :KANDA, typeface: :TUNGA_VAL)
|
|
87
|
+
xml.font(script: :GURU, typeface: :RAAVI_VAL)
|
|
88
|
+
xml.font(script: :CANS, typeface: :EUPHEMIA_VAL)
|
|
89
|
+
xml.font(script: :CHER, typeface: :PLANTAGENET_VAL)
|
|
90
|
+
xml.font(script: :YIII, typeface: :YIII_BAITI_VAL)
|
|
91
|
+
xml.font(script: :TIBET, typeface: :HIMALAYA_VAL)
|
|
92
|
+
xml.font(script: :THAA, typeface: :BOLI_VAL)
|
|
93
|
+
xml.font(script: :DEVA, typeface: :MANGAL_VAL)
|
|
94
|
+
xml.font(script: :TELU, typeface: :GAUTAMI_VAL)
|
|
95
|
+
xml.font(script: :TAML, typeface: :LATHA_VAL)
|
|
96
|
+
xml.font(script: :SYRC, typeface: :EDESSA_VAL)
|
|
97
|
+
xml.font(script: :ORYA, typeface: :KALINGGA_VAL)
|
|
98
|
+
xml.font(script: :MLYM, typeface: :KARTIKA_VAL)
|
|
99
|
+
xml.font(script: :LAOO, typeface: :CHAMPA_VAL)
|
|
100
|
+
xml.font(script: :SINH, typeface: :ISKOOLA_VAL)
|
|
101
|
+
xml.font(script: :MONGO, typeface: :BAITI_VAL)
|
|
102
|
+
xml.font(script: :VIET, typeface: :ROMAN_VAL)
|
|
103
|
+
xml.font(script: :UIGHUR, typeface: :MICROSOFT_UIGHUR_VAL)
|
|
104
|
+
xml.font(script: :GEORGIA, typeface: :SYLFAEN_VAL)
|
|
105
|
+
end
|
|
106
|
+
xml.minorFont do
|
|
107
|
+
xml.latin(typeface: :CALIBRI)
|
|
108
|
+
xml.ea(typeface: '')
|
|
109
|
+
xml.cs(typeface: '')
|
|
110
|
+
xml.font(script: :JAPAN, typeface: :JAPAN_MINOR_VAL)
|
|
111
|
+
xml.font(script: :HONGKONG, typeface: :HONGKONG_VAL)
|
|
112
|
+
xml.font(script: :HAN, typeface: :HAN_VAL)
|
|
113
|
+
xml.font(script: :HANT, typeface: :HANT_VAL)
|
|
114
|
+
xml.font(script: :ARAB, typeface: :ARIAL)
|
|
115
|
+
xml.font(script: :HEBR, typeface: :ARIAL)
|
|
116
|
+
xml.font(script: :THAI, typeface: :CORDIA)
|
|
117
|
+
xml.font(script: :ETHI, typeface: :NYALA_VAL)
|
|
118
|
+
xml.font(script: :BENG, typeface: :VRINDA_VAL)
|
|
119
|
+
xml.font(script: :GUJARAT, typeface: :SHRUTI_VAL)
|
|
120
|
+
xml.font(script: :KHEMR, typeface: :DAUN_PENH)
|
|
121
|
+
xml.font(script: :KANDA, typeface: :TUNGA_VAL)
|
|
122
|
+
xml.font(script: :GURU, typeface: :RAAVI_VAL)
|
|
123
|
+
xml.font(script: :CANS, typeface: :EUPHEMIA_VAL)
|
|
124
|
+
xml.font(script: :CHER, typeface: :PLANTAGENET_VAL)
|
|
125
|
+
xml.font(script: :YIII, typeface: :YIII_BAITI_VAL)
|
|
126
|
+
xml.font(script: :TIBET, typeface: :HIMALAYA_VAL)
|
|
127
|
+
xml.font(script: :THAA, typeface: :BOLI_VAL)
|
|
128
|
+
xml.font(script: :DEVA, typeface: :MANGAL_VAL)
|
|
129
|
+
xml.font(script: :TELU, typeface: :GAUTAMI_VAL)
|
|
130
|
+
xml.font(script: :TAML, typeface: :LATHA_VAL)
|
|
131
|
+
xml.font(script: :SYRC, typeface: :EDESSA_VAL)
|
|
132
|
+
xml.font(script: :ORYA, typeface: :KALINGGA_VAL)
|
|
133
|
+
xml.font(script: :MLYM, typeface: :KARTIKA_VAL)
|
|
134
|
+
xml.font(script: :LAOO, typeface: :CHAMPA_VAL)
|
|
135
|
+
xml.font(script: :SINH, typeface: :ISKOOLA_VAL)
|
|
136
|
+
xml.font(script: :MONGO, typeface: :BAITI_VAL)
|
|
137
|
+
xml.font(script: :VIET, typeface: :ARIAL)
|
|
138
|
+
xml.font(script: :UIGHUR, typeface: :MICROSOFT_UIGHUR_VAL)
|
|
139
|
+
xml.font(script: :GEORGIA, typeface: :SYLFAEN_VAL)
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
xml.fmtScheme(name: :OFFICE_VAL) do
|
|
143
|
+
xml.fillStyleLst do
|
|
144
|
+
xml.solidFill do
|
|
145
|
+
xml.schemeClr(val: :THEME_SCHEME)
|
|
146
|
+
end
|
|
147
|
+
xml.gradFill(rotWithShape: :DECIMAL_ONE_VAL) do
|
|
148
|
+
xml.gsLst do
|
|
149
|
+
xml.gs(pos: :DECIMAL_ZERO_VAL) do
|
|
150
|
+
xml.schemeClr(val: :THEME_SCHEME) do
|
|
151
|
+
xml.tint(val: :DECIMAL_FIFTY_VAL)
|
|
152
|
+
xml.satMod(val: :DECIMAL_THREE_HUNDRED_VAL)
|
|
153
|
+
end
|
|
154
|
+
end
|
|
155
|
+
xml.gs(pos: :DECIMAL_THREE_FIVE_VAL) do
|
|
156
|
+
xml.schemeClr(val: :THEME_SCHEME) do
|
|
157
|
+
xml.tint(val: :DECIMAL_THREE_SEVEN_VAL)
|
|
158
|
+
xml.satMod(val: :DECIMAL_THREE_HUNDRED_VAL)
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
xml.gs(pos: :DECIMAL_ONE_HUNDRED_VAL) do
|
|
162
|
+
xml.schemeClr(val: :THEME_SCHEME) do
|
|
163
|
+
xml.tint(val: :DECIMAL_FIFTEEN_VAL)
|
|
164
|
+
xml.satMod(val: :DECIMAL_THREE_FIVE_ZERO_VAL)
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
xml.lin(ang: :DECIMAL_ONE_SIX_TWO_VAL, scaled: :DECIMAL_ONE_VAL)
|
|
169
|
+
end
|
|
170
|
+
xml.gradFill(rotWithShape: :DECIMAL_ONE_VAL) do
|
|
171
|
+
xml.gsLst do
|
|
172
|
+
xml.gs(pos: :DECIMAL_ZERO_VAL) do
|
|
173
|
+
xml.schemeClr(val: :THEME_SCHEME) do
|
|
174
|
+
xml.shade(val: :DECIMAL_FIFTY_ONE_VAL)
|
|
175
|
+
xml.satMod(val: :DECIMAL_ONE_THREE_ZERO_VAL)
|
|
176
|
+
end
|
|
177
|
+
end
|
|
178
|
+
xml.gs(pos: :DECIMAL_EIGHTY_VAL) do
|
|
179
|
+
xml.schemeClr(val: :THEME_SCHEME) do
|
|
180
|
+
xml.shade(val: :DECIMAL_NINTY_THREE_VAL)
|
|
181
|
+
xml.satMod(val: :DECIMAL_ONE_THREE_ZERO_VAL)
|
|
182
|
+
end
|
|
183
|
+
end
|
|
184
|
+
xml.gs(pos: :DECIMAL_ONE_HUNDRED_VAL) do
|
|
185
|
+
xml.schemeClr(val: :THEME_SCHEME) do
|
|
186
|
+
xml.shade(val: :DECIMAL_NINTY_FOUR_VAL)
|
|
187
|
+
xml.satMod(val: :DECIMAL_ONE_THREE_FIVE_VAL)
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
xml.lin(ang: :DECIMAL_ONE_SIX_TWO_VAL, scaled: :DECIMAL_ZERO_VAL)
|
|
192
|
+
end
|
|
193
|
+
end
|
|
194
|
+
xml.lnStyleLst do
|
|
195
|
+
xml.ln(w: :DECIMAL_NINE_TWO_VAL, cap: 'flat', cmpd: 'sng', algn: :LIST_CENTER) do
|
|
196
|
+
xml.solidFill do
|
|
197
|
+
xml.schemeClr(val: :THEME_SCHEME) do
|
|
198
|
+
xml.shade(val: :DECIMAL_NINTY_FIVE_VAL)
|
|
199
|
+
xml.satMod(val: :DECIMAL_ONE_HUNDRED_FIVE_VAL)
|
|
200
|
+
end
|
|
201
|
+
end
|
|
202
|
+
xml.prstDash(val: :LIST_SOLID)
|
|
203
|
+
end
|
|
204
|
+
xml.ln(w: :DECIMAL_TWO_FIVE_FOUR_VAL, cap: 'flat', cmpd: 'sng', algn: :LIST_CENTER) do
|
|
205
|
+
xml.solidFill do
|
|
206
|
+
xml.schemeClr(val: :THEME_SCHEME)
|
|
207
|
+
end
|
|
208
|
+
xml.prstDash(val: :LIST_SOLID)
|
|
209
|
+
end
|
|
210
|
+
xml.ln(w: :DECIMAL_THREE_EIGHT_ONE_VAL, cap: 'flat', cmpd: 'sng', algn: :LIST_CENTER) do
|
|
211
|
+
xml.solidFill do
|
|
212
|
+
xml.schemeClr(val: :THEME_SCHEME)
|
|
213
|
+
end
|
|
214
|
+
xml.prstDash(val: :LIST_SOLID)
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
xml.effectStyleLst do
|
|
218
|
+
xml.effectStyle do
|
|
219
|
+
xml.effectLst do
|
|
220
|
+
xml.outerShdw(blurRad: :DECIMAL_FOURTY_VAL, dist: '20000', dir: '5400000', rotWithShape: :DECIMAL_ZERO_VAL) do
|
|
221
|
+
xml.srgbClr(val: :FIXNUM_ZERO) do
|
|
222
|
+
xml.alpha(val: :DECIMAL_THIRTY_EIGHT_VAL)
|
|
223
|
+
end
|
|
224
|
+
end
|
|
225
|
+
end
|
|
226
|
+
end
|
|
227
|
+
xml.effectStyle do
|
|
228
|
+
xml.effectLst do
|
|
229
|
+
xml.outerShdw(blurRad: :DECIMAL_FOURTY_VAL, dist: '23000', dir: '5400000', rotWithShape: :DECIMAL_ZERO_VAL) do
|
|
230
|
+
xml.srgbClr(val: :FIXNUM_ZERO) do
|
|
231
|
+
xml.alpha(val: :DECIMAL_THREE_FIVE_VAL)
|
|
232
|
+
end
|
|
233
|
+
end
|
|
234
|
+
end
|
|
235
|
+
end
|
|
236
|
+
xml.effectStyle do
|
|
237
|
+
xml.effectLst do
|
|
238
|
+
xml.outerShdw(blurRad: :DECIMAL_FOURTY_VAL, dist: '23000', dir: '5400000', rotWithShape: :DECIMAL_ZERO_VAL) do
|
|
239
|
+
xml.srgbClr(val: :FIXNUM_ZERO) do
|
|
240
|
+
xml.alpha(val: :DECIMAL_THREE_FIVE_VAL)
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
end
|
|
244
|
+
xml.scene3d do
|
|
245
|
+
xml.camera(prst: :EFFECT_ORTHO) do
|
|
246
|
+
xml.rot(lat: :DECIMAL_ZERO_VAL, lon: :DECIMAL_ZERO_VAL, rev: :DECIMAL_ZERO_VAL)
|
|
247
|
+
end
|
|
248
|
+
xml.lightRg(rig: :EFFECT_THREE_POINT, dir: :EFFECT_DIRECTION) do
|
|
249
|
+
xml.rot(lat: :DECIMAL_ZERO_VAL, lon: :DECIMAL_ZERO_VAL, rev: :DECIMAL_ONE_TWO_VAL)
|
|
250
|
+
end
|
|
251
|
+
end
|
|
252
|
+
xml.sp3d do
|
|
253
|
+
xml.bevelT(w: :DECIMAL_SIX_THREE_FIVE_VAL, h: :DECIMAL_TWO_FIVE_FOUR_VAL)
|
|
254
|
+
end
|
|
255
|
+
end
|
|
256
|
+
end
|
|
257
|
+
xml.bgFillStyleLst do
|
|
258
|
+
xml.solidFill do
|
|
259
|
+
xml.schemeClr(val: :THEME_SCHEME)
|
|
260
|
+
end
|
|
261
|
+
xml.gradFill(rotWithShape: :DECIMAL_ONE_VAL) do
|
|
262
|
+
xml.gsLst do
|
|
263
|
+
xml.gs(pos: :DECIMAL_ZERO_VAL) do
|
|
264
|
+
xml.schemeClr(val: :THEME_SCHEME) do
|
|
265
|
+
xml.tint(val: :DECIMAL_FOURTY_VAL)
|
|
266
|
+
xml.satMod(val: '350000')
|
|
267
|
+
end
|
|
268
|
+
end
|
|
269
|
+
xml.gs(pos: :DECIMAL_FOURTY_VAL) do
|
|
270
|
+
xml.schemeClr(val: :THEME_SCHEME) do
|
|
271
|
+
xml.tint(val: :DECIMAL_FORTY_FIVE_VAL)
|
|
272
|
+
xml.shade(val: :DECIMAL_NINTY_NINE_VAL)
|
|
273
|
+
xml.satMod(val: :DECIMAL_THREE_FIVE_ZERO_VAL)
|
|
274
|
+
end
|
|
275
|
+
end
|
|
276
|
+
xml.gs(pos: :DECIMAL_ONE_HUNDRED_VAL) do
|
|
277
|
+
xml.schemeClr(val: :THEME_SCHEME) do
|
|
278
|
+
xml.shade(val: :DECIMAL_TWENTY_VAL)
|
|
279
|
+
xml.satMod(val: :DECIMAL_TWO_FIVE_FIVE_VAL)
|
|
280
|
+
end
|
|
281
|
+
end
|
|
282
|
+
end
|
|
283
|
+
xml.path(path: :EFFECT_LIST_SVG) do
|
|
284
|
+
xml.fillToRect(l: :DECIMAL_FIFTY_VAL, t: '-80000', r: :DECIMAL_FIFTY_VAL, b: :DECIMAL_ONE_EIGHT_VAL)
|
|
285
|
+
end
|
|
286
|
+
end
|
|
287
|
+
xml.gradFill(rotWithShape: :DECIMAL_ONE_VAL) do
|
|
288
|
+
xml.gsLst do
|
|
289
|
+
xml.gs(pos: :DECIMAL_ZERO_VAL) do
|
|
290
|
+
xml.schemeClr(val: :THEME_SCHEME) do
|
|
291
|
+
xml.shade(val: :DECIMAL_EIGHTY_VAL)
|
|
292
|
+
xml.satMod(val: :DECIMAL_THREE_HUNDRED_VAL)
|
|
293
|
+
end
|
|
294
|
+
end
|
|
295
|
+
xml.gs(pos: :DECIMAL_ONE_HUNDRED_VAL) do
|
|
296
|
+
xml.schemeClr(val: :THEME_SCHEME) do
|
|
297
|
+
xml.shade(val: :DECIMAL_THIRTY_VAL)
|
|
298
|
+
xml.satMod(val: :DECIMAL_TWO_HUNDRED_VAL)
|
|
299
|
+
end
|
|
300
|
+
end
|
|
301
|
+
end
|
|
302
|
+
xml.path(path: :EFFECT_LIST_SVG) do
|
|
303
|
+
xml.fillToRect(l: :DECIMAL_FIFTY_VAL, t: :DECIMAL_FIFTY_VAL, r: :DECIMAL_FIFTY_VAL, b: :DECIMAL_FIFTY_VAL)
|
|
304
|
+
end
|
|
305
|
+
end
|
|
306
|
+
end
|
|
307
|
+
end
|
|
308
|
+
end
|
|
309
|
+
end
|
|
310
|
+
end
|
|
311
|
+
end
|
data/lib/sks/alat/web.rb
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module SistemKebut
|
|
2
|
+
module Peralatan
|
|
3
|
+
module Gudang
|
|
4
|
+
WEB = {
|
|
5
|
+
MARKUP_COMPAT: :MARKUP_COMPAT_VAL,
|
|
6
|
+
OFFICE_RELATIONSHIP: :OFFICE_RELATIONSHIP_VAL,
|
|
7
|
+
WORD_MAIN: :WORD_MAIN_VAL,
|
|
8
|
+
PURL_DC_MI: :PURL_DC_MI_VAL,
|
|
9
|
+
WORDML10: :WORDML10_VAL,
|
|
10
|
+
WORDML12: :WORDML12_VAL,
|
|
11
|
+
ATTR_IGNORABLE: :ATTR_IGNORABLE_VAL
|
|
12
|
+
}
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
module KebutuhanDasar
|
|
16
|
+
def generate_web
|
|
17
|
+
inner_generate_web
|
|
18
|
+
.catat_administrasi(:LOKASI_WORD_WEB_SETTINGS)
|
|
19
|
+
.catat_arsip
|
|
20
|
+
.struktur
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
private
|
|
24
|
+
def inner_generate_web
|
|
25
|
+
SistemKebut::XML::Builder.new do |xml|
|
|
26
|
+
xml.webSettings(Gudang::WEB) do
|
|
27
|
+
xml.optimizeForBrowser
|
|
28
|
+
xml.allowPNG
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
data/lib/sks/alat.rb
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module SistemKebut
|
|
2
|
+
module Peralatan
|
|
3
|
+
module Gudang
|
|
4
|
+
CT_NS = { xmlns: :PACKAGE_CONTENT_VAL }
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
module RemoteSistem
|
|
8
|
+
def _t(jenis)
|
|
9
|
+
SistemKebut::Remote.terjemah(jenis)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
module KebutuhanDasar
|
|
14
|
+
def generate_content_types
|
|
15
|
+
inner_generate_content_types
|
|
16
|
+
.catat_administrasi(:LOKASI_CONTENT_TYPES)
|
|
17
|
+
.catat_arsip
|
|
18
|
+
.struktur
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
private
|
|
22
|
+
def inner_generate_content_types
|
|
23
|
+
SistemKebut::XML::Builder.new do |xml|
|
|
24
|
+
xml.Types(Gudang::CT_NS) do
|
|
25
|
+
xml.Default(ATTR_EXTENSION: :EXTENSION_RELS_VAL, ATTR_CONTENT_TYPE: :CT_VND_PACKAGE_RELATIONSHIP)
|
|
26
|
+
xml.Default(ATTR_EXTENSION: :EXTENSION_XML_VAL, ATTR_CONTENT_TYPE: :CT_XML)
|
|
27
|
+
xml.Override(ATTR_PARTNAME: :LOKASI_WORD_DOCUMENT_ROOT, ATTR_CONTENT_TYPE: :CT_VND_OFFICE_DOCUMENT)
|
|
28
|
+
xml.Override(ATTR_PARTNAME: :LOKASI_WORD_NUMBERING_ROOT, ATTR_CONTENT_TYPE: :CT_VND_OFFICE_NUMBER)
|
|
29
|
+
xml.Override(ATTR_PARTNAME: :LOKASI_WORD_STYLES_ROOT, ATTR_CONTENT_TYPE: :CT_VND_OFFICE_STYLE)
|
|
30
|
+
xml.Override(ATTR_PARTNAME: :LOKASI_WORD_SETTINGS_ROOT, ATTR_CONTENT_TYPE: :CT_VND_OFFICE_SETTING)
|
|
31
|
+
xml.Override(ATTR_PARTNAME: :LOKASI_WORD_WEB_SETTINGS_ROOT, ATTR_CONTENT_TYPE: :CT_VND_OFFICE_WEB)
|
|
32
|
+
xml.Override(ATTR_PARTNAME: :LOKASI_WORD_FONT_TABLE_ROOT, ATTR_CONTENT_TYPE: :CT_VND_OFFICE_FONT)
|
|
33
|
+
xml.Override(ATTR_PARTNAME: :LOKASI_WORD_THEME_THEME_ROOT, ATTR_CONTENT_TYPE: :CT_VND_OFFICE_THEME)
|
|
34
|
+
xml.Override(ATTR_PARTNAME: :LOKASI_PROP_CORE_ROOT, ATTR_CONTENT_TYPE: :CT_VND_PACKAGE_CORE)
|
|
35
|
+
xml.Override(ATTR_PARTNAME: :LOKASI_PROP_APP_ROOT, ATTR_CONTENT_TYPE: :CT_VND_OFFICE_EXTENDED)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
data/lib/sks/dasar.rb
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module KebutSemalam
|
|
2
|
+
class PengelolaXML
|
|
3
|
+
class NotImplemented < StandardError
|
|
4
|
+
def initialize
|
|
5
|
+
super('Not Implemented')
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def pembangun
|
|
10
|
+
raise NotImplemented.new
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def build(xml)
|
|
14
|
+
pembangun.new(xml).build(self).start
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
module SistemKebut
|
|
20
|
+
class DefPengelolaXML < KebutSemalam::PengelolaXML
|
|
21
|
+
def pembangun
|
|
22
|
+
return self.class.const_get(:XMLBuilder)
|
|
23
|
+
rescue NameError
|
|
24
|
+
nama = self.class.to_s.rpartition("::").first
|
|
25
|
+
bungkus = self.class.const_get(nama)
|
|
26
|
+
return bungkus.const_get(:XMLBuilder)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
module SistemKebut
|
|
2
|
+
module Paragraph
|
|
3
|
+
TNR = 'Times New Roman'.freeze
|
|
4
|
+
|
|
5
|
+
module InnerParagraph
|
|
6
|
+
def ubah_ukuran(n)
|
|
7
|
+
@fsize = n * 2
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def kecilkan_spacing
|
|
11
|
+
@spacing = :kecil
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def gandakan_spacing
|
|
15
|
+
@spacing = :ganda
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def struktur
|
|
19
|
+
return @struktur
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
class Teks < SistemKebut::DefPengelolaXML
|
|
24
|
+
include InnerParagraph
|
|
25
|
+
|
|
26
|
+
attr_accessor :fstyle, :fsize, :masuk, :align, :konten
|
|
27
|
+
attr_accessor :spacing, :bold, :italic, :underline
|
|
28
|
+
attr_accessor :mode
|
|
29
|
+
def initialize(k)
|
|
30
|
+
@mode = :normal
|
|
31
|
+
@fstyle = TNR
|
|
32
|
+
@fsize = 22
|
|
33
|
+
@masuk = true
|
|
34
|
+
@bold = false
|
|
35
|
+
@italic = false
|
|
36
|
+
@underline = false
|
|
37
|
+
@spacing = :normal
|
|
38
|
+
@align = :both
|
|
39
|
+
@konten = k
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
class Kosong < SistemKebut::DefPengelolaXML
|
|
44
|
+
include InnerParagraph
|
|
45
|
+
|
|
46
|
+
attr_accessor :fstyle, :fsize, :masuk, :align, :konten
|
|
47
|
+
attr_accessor :spacing, :bold, :italic, :underline
|
|
48
|
+
attr_accessor :mode
|
|
49
|
+
def initialize
|
|
50
|
+
@mode = :normal
|
|
51
|
+
@fstyle = TNR
|
|
52
|
+
@fsize = 20
|
|
53
|
+
@masuk = false
|
|
54
|
+
@bold = false
|
|
55
|
+
@italic = false
|
|
56
|
+
@underline = false
|
|
57
|
+
@spacing = :normal
|
|
58
|
+
@align = :both
|
|
59
|
+
@konten = String.new
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
class BarisKosong < Kosong
|
|
64
|
+
def initialize
|
|
65
|
+
super
|
|
66
|
+
@fsize = 22
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def struktur
|
|
70
|
+
return @struktur
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
class Judul < SistemKebut::DefPengelolaXML
|
|
75
|
+
include InnerParagraph
|
|
76
|
+
|
|
77
|
+
attr_accessor :fstyle, :fsize, :masuk, :align, :konten
|
|
78
|
+
attr_accessor :spacing, :bold, :italic, :underline
|
|
79
|
+
attr_accessor :mode
|
|
80
|
+
def initialize(k)
|
|
81
|
+
@mode = :normal
|
|
82
|
+
@fstyle = TNR
|
|
83
|
+
@fsize = 40
|
|
84
|
+
@masuk = false
|
|
85
|
+
@bold = true
|
|
86
|
+
@italic = false
|
|
87
|
+
@underline = false
|
|
88
|
+
@spacing = :normal
|
|
89
|
+
@align = :center
|
|
90
|
+
@konten = k
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
class Kutipan < SistemKebut::DefPengelolaXML
|
|
95
|
+
include InnerParagraph
|
|
96
|
+
|
|
97
|
+
attr_accessor :fstyle, :fsize, :masuk, :align, :konten
|
|
98
|
+
attr_accessor :spacing, :bold, :italic, :underline
|
|
99
|
+
attr_accessor :mode
|
|
100
|
+
def initialize(k)
|
|
101
|
+
@mode = :normal
|
|
102
|
+
@fstyle = TNR
|
|
103
|
+
@fsize = 22
|
|
104
|
+
@masuk = false
|
|
105
|
+
@bold = false
|
|
106
|
+
@italic = true
|
|
107
|
+
@underline = false
|
|
108
|
+
@spacing = :normal
|
|
109
|
+
@align = :both
|
|
110
|
+
@konten = "\"#{k}\""
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
data/lib/sks/remote.rb
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module SistemKebut
|
|
2
|
+
module Remote
|
|
3
|
+
@instansi = JembatanC.new
|
|
4
|
+
|
|
5
|
+
def self.terjemah(jenis)
|
|
6
|
+
return jenis if jenis.is_a?(String)
|
|
7
|
+
return jenis.to_s if jenis == :Type
|
|
8
|
+
return jenis.to_s if jenis == :Target
|
|
9
|
+
return jenis.to_s if jenis == :Id
|
|
10
|
+
return jenis.to_s if jenis.to_s[0].ord > 96
|
|
11
|
+
label = case jenis
|
|
12
|
+
when :MEDIA; :GAMBAR_TEXT_MEDIA
|
|
13
|
+
when :BDOC; :GAMBAR_TEXT_BEHINDDOC
|
|
14
|
+
when :DIST_T; :ANCHOR_ATTR_DIST_T
|
|
15
|
+
when :DIST_B; :ANCHOR_ATTR_DIST_B
|
|
16
|
+
when :DIST_L; :ANCHOR_ATTR_DIST_L
|
|
17
|
+
when :DIST_R; :ANCHOR_ATTR_DIST_R
|
|
18
|
+
when :SIMPLE_POS; :ANCHOR_ATTR_SIMPLE_POS
|
|
19
|
+
when :LOCKED; :ANCHOR_ATTR_LOCKED
|
|
20
|
+
when :LAYOUT_IN_CELL; :ANCHOR_ATTR_LAYOUT
|
|
21
|
+
when :ALLOW_OVERLAP; :ANCHOR_ATTR_OVERLAP
|
|
22
|
+
when :RELATIVE_HEIGHT; :ANCHOR_ATTR_REL_HEIGHT
|
|
23
|
+
else; jenis
|
|
24
|
+
end
|
|
25
|
+
@instansi.untaian(label)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module SistemKebut
|
|
2
|
+
module Section
|
|
3
|
+
class SectionProperties < SistemKebut::DefPengelolaXML
|
|
4
|
+
attr_accessor :type, :pgSz, :pgMar, :pgNumType
|
|
5
|
+
attr_accessor :formProt, :textDirection, :docGrid
|
|
6
|
+
|
|
7
|
+
PGMAR = {
|
|
8
|
+
left: 1134,
|
|
9
|
+
right: 1134,
|
|
10
|
+
gutter: 0,
|
|
11
|
+
header: 0,
|
|
12
|
+
top: 1134,
|
|
13
|
+
footer: 0,
|
|
14
|
+
bottom: 1134
|
|
15
|
+
}
|
|
16
|
+
GRID = {
|
|
17
|
+
type: :default,
|
|
18
|
+
linePitch: 600,
|
|
19
|
+
charSpace: 32768
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
def initialize
|
|
23
|
+
@type = :nextPage
|
|
24
|
+
@pgSz = { width: 11906, height: 16838 }
|
|
25
|
+
@pgMar = PGMAR
|
|
26
|
+
@pgNumType = { fmt: :decimal, start: 1 }
|
|
27
|
+
@formProt = false
|
|
28
|
+
@textDirection = :lrTb
|
|
29
|
+
@docGrid = GRID
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
data/lib/sks/sks.rb
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
require 'nokogiri'
|
|
2
|
+
require_relative '../xml/builder'
|
|
3
|
+
require_relative '../transformasi/web'
|
|
4
|
+
require_relative 'alat'
|
|
5
|
+
require_relative 'alat/rels'
|
|
6
|
+
require_relative 'alat/prop_core'
|
|
7
|
+
require_relative 'alat/prop_app'
|
|
8
|
+
require_relative 'alat/prop_custom'
|
|
9
|
+
require_relative 'alat/rels_document'
|
|
10
|
+
require_relative 'alat/style'
|
|
11
|
+
require_relative 'alat/numbering'
|
|
12
|
+
require_relative 'alat/font_table'
|
|
13
|
+
require_relative 'alat/setting'
|
|
14
|
+
require_relative 'alat/theme'
|
|
15
|
+
require_relative 'alat/web'
|
|
16
|
+
# require_relative 'alat/page_number'
|
|
17
|
+
# require_relative 'alat/first_page'
|
|
18
|
+
# require_relative 'alat/romawi'
|
|
19
|
+
require_relative 'istimewa/dasar'
|
|
20
|
+
require_relative 'section/dasar'
|
|
21
|
+
require_relative 'paragraph/dasar'
|
|
22
|
+
require_relative 'media/dasar'
|
|
23
|
+
require_relative 'header/dasar'
|
|
24
|
+
require_relative 'footer/dasar'
|
|
25
|
+
require_relative 'alat/document'
|
|
26
|
+
|
|
27
|
+
SistemKebut::Peralatan::Gudang::KOMBINASI.each_key do |i|
|
|
28
|
+
require_relative File.join(i.to_s, 'dasar')
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
module SistemKebut
|
|
32
|
+
class Skripsi
|
|
33
|
+
def initialize(&block)
|
|
34
|
+
obj = Class.new
|
|
35
|
+
obj.include(SistemKebut::Peralatan::KebutuhanDasar)
|
|
36
|
+
inst = obj.new
|
|
37
|
+
|
|
38
|
+
# initialize
|
|
39
|
+
inst.init_document
|
|
40
|
+
inst.instance_eval(&block)
|
|
41
|
+
|
|
42
|
+
inst.generate_rels
|
|
43
|
+
# docProps
|
|
44
|
+
inst.generate_prop_core
|
|
45
|
+
inst.generate_prop_app
|
|
46
|
+
inst.generate_prop_custom
|
|
47
|
+
# word/_rels
|
|
48
|
+
inst.generate_theme
|
|
49
|
+
inst.generate_rels_document
|
|
50
|
+
# word
|
|
51
|
+
inst.generate_font_table
|
|
52
|
+
inst.generate_setting
|
|
53
|
+
inst.generate_style
|
|
54
|
+
inst.generate_web
|
|
55
|
+
inst.generate_document
|
|
56
|
+
# root
|
|
57
|
+
inst.generate_content_types
|
|
58
|
+
@inti = inst
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def ekspor(berkas)
|
|
62
|
+
SistemKebut::XML::Administrasi.ekspor(berkas)
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|