metalsmith-markdown-partials 2.4.0 → 2.5.1

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.
@@ -1,646 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for index.js</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="prettify.css" />
9
- <link rel="stylesheet" href="base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="index.html">All files</a> index.js</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">94.11% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>176/187</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">79.16% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>19/24</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>6/6</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">94.11% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>176/187</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line medium'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
254
- <span class="cline-any cline-yes">1x</span>
255
- <span class="cline-any cline-yes">1x</span>
256
- <span class="cline-any cline-yes">1x</span>
257
- <span class="cline-any cline-yes">1x</span>
258
- <span class="cline-any cline-yes">1x</span>
259
- <span class="cline-any cline-yes">1x</span>
260
- <span class="cline-any cline-yes">1x</span>
261
- <span class="cline-any cline-yes">1x</span>
262
- <span class="cline-any cline-yes">1x</span>
263
- <span class="cline-any cline-yes">1x</span>
264
- <span class="cline-any cline-yes">1x</span>
265
- <span class="cline-any cline-yes">1x</span>
266
- <span class="cline-any cline-yes">1x</span>
267
- <span class="cline-any cline-yes">1x</span>
268
- <span class="cline-any cline-yes">1x</span>
269
- <span class="cline-any cline-yes">1x</span>
270
- <span class="cline-any cline-yes">1x</span>
271
- <span class="cline-any cline-yes">1x</span>
272
- <span class="cline-any cline-yes">1x</span>
273
- <span class="cline-any cline-yes">1x</span>
274
- <span class="cline-any cline-yes">1x</span>
275
- <span class="cline-any cline-yes">1x</span>
276
- <span class="cline-any cline-yes">1x</span>
277
- <span class="cline-any cline-yes">1x</span>
278
- <span class="cline-any cline-yes">1x</span>
279
- <span class="cline-any cline-yes">5x</span>
280
- <span class="cline-any cline-yes">5x</span>
281
- <span class="cline-any cline-yes">5x</span>
282
- <span class="cline-any cline-yes">1x</span>
283
- <span class="cline-any cline-yes">1x</span>
284
- <span class="cline-any cline-yes">1x</span>
285
- <span class="cline-any cline-yes">1x</span>
286
- <span class="cline-any cline-yes">1x</span>
287
- <span class="cline-any cline-yes">1x</span>
288
- <span class="cline-any cline-yes">1x</span>
289
- <span class="cline-any cline-yes">1x</span>
290
- <span class="cline-any cline-yes">1x</span>
291
- <span class="cline-any cline-yes">4x</span>
292
- <span class="cline-any cline-yes">4x</span>
293
- <span class="cline-any cline-yes">4x</span>
294
- <span class="cline-any cline-yes">4x</span>
295
- <span class="cline-any cline-yes">4x</span>
296
- <span class="cline-any cline-yes">4x</span>
297
- <span class="cline-any cline-yes">4x</span>
298
- <span class="cline-any cline-yes">4x</span>
299
- <span class="cline-any cline-yes">4x</span>
300
- <span class="cline-any cline-yes">4x</span>
301
- <span class="cline-any cline-yes">4x</span>
302
- <span class="cline-any cline-yes">4x</span>
303
- <span class="cline-any cline-yes">4x</span>
304
- <span class="cline-any cline-yes">4x</span>
305
- <span class="cline-any cline-yes">4x</span>
306
- <span class="cline-any cline-yes">4x</span>
307
- <span class="cline-any cline-yes">4x</span>
308
- <span class="cline-any cline-yes">4x</span>
309
- <span class="cline-any cline-yes">8x</span>
310
- <span class="cline-any cline-yes">8x</span>
311
- <span class="cline-any cline-yes">8x</span>
312
- <span class="cline-any cline-yes">8x</span>
313
- <span class="cline-any cline-yes">8x</span>
314
- <span class="cline-any cline-yes">8x</span>
315
- <span class="cline-any cline-yes">8x</span>
316
- <span class="cline-any cline-yes">8x</span>
317
- <span class="cline-any cline-yes">8x</span>
318
- <span class="cline-any cline-yes">8x</span>
319
- <span class="cline-any cline-yes">4x</span>
320
- <span class="cline-any cline-yes">4x</span>
321
- <span class="cline-any cline-yes">4x</span>
322
- <span class="cline-any cline-yes">4x</span>
323
- <span class="cline-any cline-yes">4x</span>
324
- <span class="cline-any cline-yes">3x</span>
325
- <span class="cline-any cline-yes">3x</span>
326
- <span class="cline-any cline-yes">3x</span>
327
- <span class="cline-any cline-yes">3x</span>
328
- <span class="cline-any cline-yes">3x</span>
329
- <span class="cline-any cline-yes">3x</span>
330
- <span class="cline-any cline-yes">3x</span>
331
- <span class="cline-any cline-yes">3x</span>
332
- <span class="cline-any cline-yes">3x</span>
333
- <span class="cline-any cline-yes">3x</span>
334
- <span class="cline-any cline-yes">3x</span>
335
- <span class="cline-any cline-no">&nbsp;</span>
336
- <span class="cline-any cline-no">&nbsp;</span>
337
- <span class="cline-any cline-no">&nbsp;</span>
338
- <span class="cline-any cline-yes">3x</span>
339
- <span class="cline-any cline-yes">3x</span>
340
- <span class="cline-any cline-yes">3x</span>
341
- <span class="cline-any cline-yes">3x</span>
342
- <span class="cline-any cline-yes">3x</span>
343
- <span class="cline-any cline-yes">3x</span>
344
- <span class="cline-any cline-yes">3x</span>
345
- <span class="cline-any cline-yes">3x</span>
346
- <span class="cline-any cline-yes">3x</span>
347
- <span class="cline-any cline-yes">3x</span>
348
- <span class="cline-any cline-yes">3x</span>
349
- <span class="cline-any cline-yes">3x</span>
350
- <span class="cline-any cline-yes">3x</span>
351
- <span class="cline-any cline-yes">3x</span>
352
- <span class="cline-any cline-yes">3x</span>
353
- <span class="cline-any cline-yes">3x</span>
354
- <span class="cline-any cline-yes">3x</span>
355
- <span class="cline-any cline-yes">4x</span>
356
- <span class="cline-any cline-yes">4x</span>
357
- <span class="cline-any cline-yes">4x</span>
358
- <span class="cline-any cline-yes">4x</span>
359
- <span class="cline-any cline-yes">8x</span>
360
- <span class="cline-any cline-yes">4x</span>
361
- <span class="cline-any cline-yes">4x</span>
362
- <span class="cline-any cline-yes">4x</span>
363
- <span class="cline-any cline-yes">4x</span>
364
- <span class="cline-any cline-yes">4x</span>
365
- <span class="cline-any cline-yes">4x</span>
366
- <span class="cline-any cline-yes">4x</span>
367
- <span class="cline-any cline-yes">1x</span>
368
- <span class="cline-any cline-yes">1x</span>
369
- <span class="cline-any cline-yes">1x</span>
370
- <span class="cline-any cline-yes">1x</span>
371
- <span class="cline-any cline-yes">1x</span>
372
- <span class="cline-any cline-yes">1x</span>
373
- <span class="cline-any cline-yes">1x</span>
374
- <span class="cline-any cline-yes">1x</span>
375
- <span class="cline-any cline-yes">1x</span>
376
- <span class="cline-any cline-yes">3x</span>
377
- <span class="cline-any cline-yes">3x</span>
378
- <span class="cline-any cline-yes">3x</span>
379
- <span class="cline-any cline-yes">3x</span>
380
- <span class="cline-any cline-yes">3x</span>
381
- <span class="cline-any cline-yes">3x</span>
382
- <span class="cline-any cline-yes">3x</span>
383
- <span class="cline-any cline-yes">3x</span>
384
- <span class="cline-any cline-yes">3x</span>
385
- <span class="cline-any cline-yes">3x</span>
386
- <span class="cline-any cline-yes">3x</span>
387
- <span class="cline-any cline-no">&nbsp;</span>
388
- <span class="cline-any cline-no">&nbsp;</span>
389
- <span class="cline-any cline-no">&nbsp;</span>
390
- <span class="cline-any cline-yes">3x</span>
391
- <span class="cline-any cline-yes">3x</span>
392
- <span class="cline-any cline-yes">1x</span>
393
- <span class="cline-any cline-yes">1x</span>
394
- <span class="cline-any cline-yes">1x</span>
395
- <span class="cline-any cline-yes">1x</span>
396
- <span class="cline-any cline-yes">1x</span>
397
- <span class="cline-any cline-yes">1x</span>
398
- <span class="cline-any cline-yes">1x</span>
399
- <span class="cline-any cline-yes">1x</span>
400
- <span class="cline-any cline-yes">1x</span>
401
- <span class="cline-any cline-yes">1x</span>
402
- <span class="cline-any cline-yes">1x</span>
403
- <span class="cline-any cline-yes">1x</span>
404
- <span class="cline-any cline-yes">1x</span>
405
- <span class="cline-any cline-yes">1x</span>
406
- <span class="cline-any cline-yes">1x</span>
407
- <span class="cline-any cline-yes">1x</span>
408
- <span class="cline-any cline-yes">5x</span>
409
- <span class="cline-any cline-yes">5x</span>
410
- <span class="cline-any cline-yes">5x</span>
411
- <span class="cline-any cline-yes">5x</span>
412
- <span class="cline-any cline-yes">4x</span>
413
- <span class="cline-any cline-yes">4x</span>
414
- <span class="cline-any cline-yes">4x</span>
415
- <span class="cline-any cline-yes">4x</span>
416
- <span class="cline-any cline-yes">4x</span>
417
- <span class="cline-any cline-yes">4x</span>
418
- <span class="cline-any cline-yes">4x</span>
419
- <span class="cline-any cline-yes">4x</span>
420
- <span class="cline-any cline-yes">4x</span>
421
- <span class="cline-any cline-yes">4x</span>
422
- <span class="cline-any cline-yes">3x</span>
423
- <span class="cline-any cline-yes">3x</span>
424
- <span class="cline-any cline-yes">4x</span>
425
- <span class="cline-any cline-yes">4x</span>
426
- <span class="cline-any cline-yes">4x</span>
427
- <span class="cline-any cline-no">&nbsp;</span>
428
- <span class="cline-any cline-no">&nbsp;</span>
429
- <span class="cline-any cline-no">&nbsp;</span>
430
- <span class="cline-any cline-yes">5x</span>
431
- <span class="cline-any cline-yes">5x</span>
432
- <span class="cline-any cline-yes">1x</span>
433
- <span class="cline-any cline-yes">1x</span>
434
- <span class="cline-any cline-yes">1x</span>
435
- <span class="cline-any cline-yes">1x</span>
436
- <span class="cline-any cline-yes">1x</span>
437
- <span class="cline-any cline-yes">1x</span>
438
- <span class="cline-any cline-no">&nbsp;</span>
439
- <span class="cline-any cline-no">&nbsp;</span>
440
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
441
- * A Metalsmith plugin to merge markdown partials into main markdown files.
442
- *
443
- * @module metalsmith-markdown-partials
444
- */
445
- &nbsp;
446
- /**
447
- * @typedef {Object} Options
448
- * @property {String} libraryPath - Path to the markdown partials library (defaults to './src/content/md-library/')
449
- * @property {String} fileSuffix - File suffix for markdown files (defaults to '.md')
450
- */
451
- &nbsp;
452
- // Define debug namespace at the top of the file
453
- const debugNs = 'metalsmith-markdown-partials';
454
- &nbsp;
455
- /** @type {Options} */
456
- const defaults = {
457
- libraryPath: './src/content/md-library/',
458
- fileSuffix: '.md'
459
- };
460
- &nbsp;
461
- /**
462
- * Normalize plugin options by merging with defaults
463
- * @param {Options} [options] - User provided options
464
- * @returns {Options} Normalized options
465
- */
466
- function normalizeOptions(options) {
467
- return Object.assign({}, defaults, options || {});
468
- }
469
- &nbsp;
470
- /**
471
- * Extract markdown partials from files and prepare them for insertion
472
- *
473
- * @param {Object} files - The metalsmith file object
474
- * @param {Options} options - Plugin options
475
- * @param {Function} debug - Debug function
476
- * @returns {Array} Array with all markdown include objects
477
- */
478
- function getMarkdownIncludes(files, options, debug) {
479
- const markdownIncludes = [];
480
- &nbsp;
481
- // Extract the library name from the path
482
- const libraryPath = options.libraryPath.slice(0, -1).split('/');
483
- const libraryName = libraryPath[libraryPath.length - 1];
484
- &nbsp;
485
- debug('Processing markdown files with libraryName: %s', libraryName);
486
- &nbsp;
487
- // Regex for matching include markers
488
- const markerRegex = /\{#md\s*".+?"\s*#\}/g;
489
- const markerStart = '{#md';
490
- const markerEnd = '#}';
491
- &nbsp;
492
- // Set to track already processed partials to prevent duplicates
493
- const processedPartials = new Set();
494
- &nbsp;
495
- Object.keys(files).forEach((file) =&gt; {
496
- /*
497
- * checks if string 'file' ends with options.fileSuffix
498
- * when metalsmith-in-place or metalsmith-layouts are used
499
- * the suffix depends on what templating language is used
500
- * for example with Nunjucks it would be .md.njk
501
- *
502
- * Also check that file does NOT start with libraryName as
503
- * the markdown partials library is also located in the content folder
504
- */
505
- if (file.endsWith(options.fileSuffix) &amp;&amp; !file.startsWith(libraryName)) {
506
- const str = files[file].contents.toString();
507
- &nbsp;
508
- // Check if markers are present
509
- const matches = str.match(markerRegex);
510
- if (!matches) {return;}
511
- &nbsp;
512
- debug('Found %d markdown partials in %s', matches.length, file);
513
- &nbsp;
514
- // Process each marker in the file
515
- matches.forEach((marker) =&gt; {
516
- // Extract the filename from the marker
517
- const markerFileName = marker.replaceAll(' ', '').replace(`${markerStart}"`, '').replace(`"${markerEnd}`, '');
518
- const partialKey = `${libraryName}/${markerFileName}`;
519
- &nbsp;
520
- // Check if partial file exists
521
- if (!files[partialKey]) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
522
- <span class="cstat-no" title="statement not covered" > debug('Warning: Partial file not found: %s', partialKey);</span>
523
- <span class="cstat-no" title="statement not covered" > return;</span>
524
- <span class="cstat-no" title="statement not covered" > }</span>
525
- &nbsp;
526
- // Skip if we've already processed this exact marker+file combination
527
- const combinedKey = `${file}:${marker}`;
528
- if (processedPartials.has(combinedKey)) <span class="branch-0 cbranch-no" title="branch not covered" >{return;}</span>
529
- &nbsp;
530
- processedPartials.add(combinedKey);
531
- &nbsp;
532
- // Get the replacement content
533
- const replacementString = files[partialKey].contents.toString();
534
- &nbsp;
535
- markdownIncludes.push({
536
- marker,
537
- markerReplacement: replacementString,
538
- file
539
- });
540
- });
541
- }
542
- });
543
- &nbsp;
544
- // Remove markdown-partials from metalsmith build process
545
- Object.keys(files).forEach((file) =&gt; {
546
- if (file.startsWith(libraryName)) {
547
- delete files[file];
548
- }
549
- });
550
- &nbsp;
551
- debug('Processed %d markdown includes', markdownIncludes.length);
552
- return markdownIncludes;
553
- }
554
- &nbsp;
555
- /**
556
- * Replace markers with their markdown replacement strings
557
- *
558
- * @param {Object} files - The metalsmith file object
559
- * @param {Array} markdownIncludes - Array with all markdown include objects
560
- * @param {Function} debug - Debug function
561
- * @return {void}
562
- */
563
- function resolveMarkdownIncludes(files, markdownIncludes, debug) {
564
- // replace all markers with their markdown replacements
565
- markdownIncludes.forEach((markdownInclude) =&gt; {
566
- const fileData = files[markdownInclude.file];
567
- &nbsp;
568
- // replace the include marker with the actual include file content
569
- try {
570
- const contents = fileData.contents.toString();
571
- fileData.contents = Buffer.from(contents.replace(markdownInclude.marker, markdownInclude.markerReplacement));
572
- debug('Replaced marker in %s', markdownInclude.file);
573
- } <span class="branch-0 cbranch-no" title="branch not covered" >catch (e) {</span>
574
- <span class="cstat-no" title="statement not covered" > debug('Error replacing marker in %s: %s', markdownInclude.file, e.message);</span>
575
- <span class="cstat-no" title="statement not covered" > console.error(`Error replacing marker in ${markdownInclude.file}:`, e);</span>
576
- <span class="cstat-no" title="statement not covered" > }</span>
577
- });
578
- }
579
- &nbsp;
580
- /**
581
- * A Metalsmith plugin to merge markdown partials into main markdown file
582
- *
583
- * A marker of the form {#md "&lt;file name&gt;.md" #} indicates where the partial
584
- * must be inserted and also provides the file name of the replacement markdown.
585
- *
586
- * @param {Options} [options] - Plugin options
587
- * @returns {import('metalsmith').Plugin} Metalsmith plugin function
588
- * @example
589
- * // In your metalsmith build:
590
- * .use(markdownPartials({
591
- * libraryPath: './src/content/md-partials/',
592
- * fileSuffix: '.md.njk'
593
- * }))
594
- */
595
- function initMarkdownPartials(options) {
596
- options = normalizeOptions(options);
597
- &nbsp;
598
- return function markdownPartials(files, metalsmith, done) {
599
- // Use metalsmith's debug method if available
600
- const debug = metalsmith.debug ? metalsmith.debug(debugNs) : () =&gt; {};
601
- debug('Running with options: %o', options);
602
- &nbsp;
603
- try {
604
- // Get all markdown includes
605
- const markdownIncludes = getMarkdownIncludes(files, options, debug);
606
- &nbsp;
607
- // Replace include markers with their respective replacement
608
- if (markdownIncludes.length) {
609
- resolveMarkdownIncludes(files, markdownIncludes, debug);
610
- }
611
- &nbsp;
612
- setImmediate(done);
613
- } <span class="branch-0 cbranch-no" title="branch not covered" >catch (err) {</span>
614
- <span class="cstat-no" title="statement not covered" > debug('Error processing markdown partials: %s', err.message);</span>
615
- <span class="cstat-no" title="statement not covered" > setImmediate(() =&gt; done(err));</span>
616
- <span class="cstat-no" title="statement not covered" > }</span>
617
- };
618
- }
619
- &nbsp;
620
- // ESM export
621
- export default initMarkdownPartials;
622
- &nbsp;
623
- // CommonJS export compatibility
624
- if (typeof module !== 'undefined') <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
625
- <span class="cstat-no" title="statement not covered" > module.exports = initMarkdownPartials;</span>
626
- <span class="cstat-no" title="statement not covered" >}</span>
627
- &nbsp;</pre></td></tr></table></pre>
628
-
629
- <div class='push'></div><!-- for sticky footer -->
630
- </div><!-- /wrapper -->
631
- <div class='footer quiet pad2 space-top1 center small'>
632
- Code coverage generated by
633
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
634
- at 2025-03-21T22:56:15.069Z
635
- </div>
636
- <script src="prettify.js"></script>
637
- <script>
638
- window.onload = function () {
639
- prettyPrint();
640
- };
641
- </script>
642
- <script src="sorter.js"></script>
643
- <script src="block-navigation.js"></script>
644
- </body>
645
- </html>
646
-
@@ -1 +0,0 @@
1
- .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}