middleman-asciidoc 1.0.0.rc.4 → 1.0.0.rc.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 09404febee1aa7a38d25fbeb16e29c21e1790e3a3eb5f4033d2c19aa1c016467
4
- data.tar.gz: cf334b89c66b3415fab2af159461c32f4c292d5907f0dfd1d0f8e92932612387
3
+ metadata.gz: c36ec3831f7e530ddd384d86818651332d51691441da4657581dcc1b0ffa32a7
4
+ data.tar.gz: 0cb91df8ade3ee3a0d9720397b79612c3d48c1a62d3b3cf057b015e19b6b50e1
5
5
  SHA512:
6
- metadata.gz: c97fc8f19a5531aac959f91332e442b15de33b8834475f2b5f075f6cd2005a3190f9343b10264b43347941f9954e6e8562fee07737901a9f1f2c97ad0d4ea4d6
7
- data.tar.gz: 88802a4fe982d3fd841426c56f9ef9738d7a117203b7d80c6af1f02adff690f70efb3359188f6d695e4274d8b4b1d74af60e5455a53d269a8005fd186dfbfbd0
6
+ metadata.gz: fa80fa61d1665135bcf04676f45b7dcee6638cce2cdc3b4b133cdaa69d70db0f671201e9e3ea52740257494e4b1fb8d01e9eb48d9fea269bc4ca4228e320ce30
7
+ data.tar.gz: 8c984dbfaf206fa58cb89a317320cd5e9d28b60183dbe61621f450dcebc50f319af9e9ad5e15351c9ce9ae19536b7114bf17ef2524c00ef0bbfa70d70b3390ed
@@ -1,6 +1,6 @@
1
1
  = AsciiDoc Extension for Middleman (powered by Asciidoctor)
2
2
  Dan Allen <https://github.com/mojavelinux[@mojavelinux]>
3
- v1.0.0.rc.4, 2017-11-29
3
+ v1.0.0.rc.5, 2017-12-03
4
4
  // Settings:
5
5
  :idprefix:
6
6
  :idseparator: -
@@ -75,22 +75,38 @@ You're now ready to activate this extension and begin putting it to work.
75
75
 
76
76
  == Activation and Configuration
77
77
 
78
- To activate this extension, add the following line to the [.path]_config.rb_ file for your site:
78
+ To activate the AsciiDoc extension, add the following line to the [.path]_config.rb_ file for your site:
79
79
 
80
80
  [source,ruby]
81
81
  ----
82
82
  activate :asciidoc
83
83
  ----
84
84
 
85
- You can also pass AsciiDoc configuration options to the underlying Asciidoctor processor as a Hash or Array.
86
- Here's an example of passing the attribute as an Array:
85
+ You can also pass options to the extension.
86
+ One way is to pass a Hash of options as the second argument of `activate`.
87
+ In this case, the option keys must be expressed as symbols.
88
+
89
+ Here's an example of how to set the `attributes` option for this extension, which assigns attributes to the underlying Asciidoctor processor:
87
90
 
88
91
  [source,ruby]
89
92
  ----
90
93
  activate :asciidoc, attributes: ['source-highlighter=coderay']
91
94
  ----
92
95
 
93
- The following option keys from the Asciidoctor API can be added to the Hash of the second argument to `activate`:
96
+ Alternately, you can assign options directly to the extension object when using the block form of `activate`.
97
+ In this case, the options are properties of the extension object.
98
+
99
+ Here's how to assign the `attributes` option for this extension using the block form of `activate`:
100
+
101
+ [source,ruby]
102
+ ----
103
+ activate :asciidoc do |asciidoc|
104
+ asciidoc.attributes = ['source-highlighter=coderay']
105
+ end
106
+ ----
107
+
108
+ The following option keys can be used to configure this extension.
109
+ With the exception of `layout`, these option keys map directly to options in the Asciidoctor API.
94
110
 
95
111
  attributes (type: Hash or Array, default: [])::
96
112
  Custom AsciiDoc attributes to pass to the processor.
@@ -197,6 +213,18 @@ Alternately, you can set a default layout just for AsciiDoc-based pages (pages p
197
213
  activate :asciidoc, layout: :name_of_layout
198
214
  ----
199
215
 
216
+ Finally, you can set the layout for a specific page or group of pages using the page directive.
217
+ This is an alternate way to define front matter for a page.
218
+
219
+ [source,ruby]
220
+ ----
221
+ page 'home', layout: :name_of_layout
222
+ ----
223
+
224
+ NOTE: The first argument to the `page` function is the page ID.
225
+ The page ID is computed starting from the path of the source file relative to the source directory, then removing the template extension (i.e., the AsciiDoc extension), then removing the `.html` extension, if present.
226
+ For example, the page ID for both [.path]_home.adoc_ and [.path]_home.html.adoc_ is `home`.
227
+
200
228
  TIP: When you define the layout in [.path]_config.rb_, you can specify the value either as a String or a Symbol.
201
229
 
202
230
  If you don't set the layout in [.path]_config.rb_, the default layout is considered unset.
@@ -60,6 +60,16 @@ Feature: Blog Integration
60
60
  When I go to "/blog/ignored.html"
61
61
  Then I should see "Not Found"
62
62
 
63
+ Scenario: Specifying _auto_layout in blog configuration falls back to layout defined in AsciiDoc configuration
64
+ Given a fixture app "asciidoc-blog-app"
65
+ And app "asciidoc-blog-app" is using config "auto-layout"
66
+ And the Server is running
67
+ When I go to "/blog/welcome.html"
68
+ Then I should see:
69
+ """
70
+ <title>AsciiDoc Page: Welcome</title>
71
+ """
72
+
63
73
  Scenario: The layout defined in blog configuration takes precedence over the layout defined in AsciiDoc configuration
64
74
  Given a fixture app "asciidoc-blog-app"
65
75
  And app "asciidoc-blog-app" is using config "asciidoc-layout"
@@ -1,7 +1,7 @@
1
1
  Feature: AsciiDoc Support
2
2
  In order to test AsciiDoc support
3
3
 
4
- Scenario: Rendering html
4
+ Scenario: Rendering HTML page from AsciiDoc document
5
5
  Given the Server is running at "asciidoc-pages-app"
6
6
  When I go to "/hello.html"
7
7
  Then I should see:
@@ -12,6 +12,16 @@ Feature: AsciiDoc Support
12
12
  </div>
13
13
  """
14
14
 
15
+ Scenario: Rendering HTML page from AsciiDoc document with alternate extension
16
+ Given the Server is running at "asciidoc-pages-app"
17
+ When I go to "/goodbye.html"
18
+ Then I should see:
19
+ """
20
+ <div class="paragraph">
21
+ <p>So long!</p>
22
+ </div>
23
+ """
24
+
15
25
  Scenario: Rendering html with double file extension
16
26
  Given the Server is running at "asciidoc-pages-app"
17
27
  When I go to "/hello-with-extension.html"
@@ -50,7 +60,7 @@ Feature: AsciiDoc Support
50
60
 
51
61
  Scenario: Rendering html with no layout specified
52
62
  Given a fixture app "asciidoc-pages-app"
53
- And app "asciidoc-pages-app" is using config "default-layout"
63
+ And app "asciidoc-pages-app" is using config "global-layout"
54
64
  And a file named "source/no-layout.adoc" with:
55
65
  """
56
66
  Hello, AsciiDoc!
@@ -74,7 +84,7 @@ Feature: AsciiDoc Support
74
84
 
75
85
  Scenario: Rendering html with auto layout specified
76
86
  Given a fixture app "asciidoc-pages-app"
77
- And app "asciidoc-pages-app" is using config "default-layout"
87
+ And app "asciidoc-pages-app" is using config "global-layout"
78
88
  And a file named "source/auto-layout.adoc" with:
79
89
  """
80
90
  :page-layout: _auto_layout
@@ -100,7 +110,7 @@ Feature: AsciiDoc Support
100
110
 
101
111
  Scenario: Rendering html with blank layout specified
102
112
  Given a fixture app "asciidoc-pages-app"
103
- And app "asciidoc-pages-app" is using config "default-layout"
113
+ And app "asciidoc-pages-app" is using config "global-layout"
104
114
  And a file named "source/blank-layout.adoc" with:
105
115
  """
106
116
  :page-layout:
@@ -238,7 +248,7 @@ Feature: AsciiDoc Support
238
248
 
239
249
  Scenario: Default safe mode for AsciiDoc processor
240
250
  Given a fixture app "asciidoc-pages-app"
241
- And app "asciidoc-pages-app" is using config "default-layout"
251
+ And app "asciidoc-pages-app" is using config "global-layout"
242
252
  And the Server is running
243
253
  When I go to "/safe-mode.html"
244
254
  Then I should see:
@@ -320,6 +330,27 @@ Feature: AsciiDoc Support
320
330
  </html>
321
331
  """
322
332
 
333
+ Scenario: Rendering html with layout from page directive
334
+ Given a fixture app "asciidoc-pages-app"
335
+ And app "asciidoc-pages-app" is using config "page-layout"
336
+ And the Server is running
337
+ When I go to "/hello.html"
338
+ Then I should see:
339
+ """
340
+ <!DOCTYPE html>
341
+ <html>
342
+ <head>
343
+ <title>Fallback</title>
344
+ </head>
345
+ <body>
346
+ <div class="paragraph">
347
+ <p>Hello, AsciiDoc!
348
+ Middleman, I am in you.</p>
349
+ </div>
350
+ </body>
351
+ </html>
352
+ """
353
+
323
354
  Scenario: Ignoring files marked as ignored
324
355
  Given the Server is running at "asciidoc-pages-app"
325
356
  When I go to "/ignored.html"
@@ -336,6 +367,11 @@ Feature: AsciiDoc Support
336
367
  And I should see content matching %r{<p>site-destination=.+/tmp/aruba/asciidoc-pages-app/build</p>}
337
368
  And I should see content matching %r{<p>site-environment=development</p>}
338
369
 
370
+ Scenario: Assigning page ID to page-id attribute
371
+ Given the Server is running at "asciidoc-pages-app"
372
+ When I go to "/topic/echo-page-id.html"
373
+ Then I should see "topic/echo-page-id"
374
+
339
375
  Scenario: Merging page data in front matter and AsciiDoc header
340
376
  Given the Server is running at "asciidoc-pages-app"
341
377
  When I go to "/hello-with-mixed-page-data.html"
@@ -0,0 +1,9 @@
1
+ activate :asciidoc, layout: :asciidoc_page
2
+
3
+ require 'middleman-blog'
4
+
5
+ activate :blog do |blog|
6
+ blog.layout = '_auto_layout'
7
+ blog.sources = 'blog/{title}.html'
8
+ blog.permalink = 'blog/{title}.html'
9
+ end
@@ -0,0 +1,2 @@
1
+ activate :asciidoc
2
+ page 'hello', layout: :default
@@ -0,0 +1,3 @@
1
+ = Goodbye
2
+
3
+ So long!
@@ -0,0 +1,3 @@
1
+ = Echo Page ID
2
+
3
+ {page-id}
@@ -21,11 +21,12 @@ module Middleman
21
21
 
22
22
  option :attributes, [], 'Custom AsciiDoc attributes passed to all AsciiDoc-based pages. Defaults to empty Array. (Hash or Array)'
23
23
  option :backend, :html5, 'Moniker used to select output format for AsciiDoc-based pages. Defaults to :html5. (Symbol)'
24
- option :base_dir, :docdir, 'Base directory to use for the current AsciiDoc document. Defaults to :docdir (tracks directory of document). (String)'
24
+ option :base_dir, :docdir, 'Base directory to use for the current AsciiDoc document. Defaults to :docdir, which is replaced with the document directory. (String)'
25
25
  option :safe, :safe, 'Safe mode level for AsciiDoc processor. Defaults to :safe. (Symbol)'
26
26
  option :layout, nil, 'Name of layout to use for AsciiDoc-based pages (not blog articles) (String or Symbol)'
27
27
 
28
28
  def initialize app, options_hash = {}, &block
29
+ return if app.mode? :config
29
30
  super
30
31
  app.config.define_setting :asciidoc, {}, 'AsciiDoc processor options (Hash)'
31
32
  # NOTE support global :asciidoc_attributes setting for backwards compatibility
@@ -34,6 +35,7 @@ module Middleman
34
35
 
35
36
  # NOTE options passed to activate take precedence (e.g., activate :asciidoc, attributes: ['foo=bar'])
36
37
  def after_configuration
38
+ app.config[:asciidoc_extensions] = prune_tilt_mapping!
37
39
  # Match behavior of middleman blog extension
38
40
  # Make sure ActiveSupport's TimeZone stuff has something to work with,
39
41
  # allowing people to set their desired time zone via Time.zone or
@@ -97,25 +99,30 @@ module Middleman
97
99
  cfg[:safe] = (cfg[:safe] || :safe).to_sym
98
100
  if (default_layout = options[:layout] || app.config[:layout])
99
101
  # set priority to run after blog extension, which also sets a layout
100
- app.sitemap.register_resource_list_manipulator :asciidoc_default_layout, (DefaultLayoutConfigurator.new default_layout.to_sym), 60
102
+ app.sitemap.register_resource_list_manipulator :asciidoc_default_layout, (DefaultLayoutConfigurator.new app, default_layout.to_sym), 60
101
103
  end
102
104
  end
103
105
  end
104
106
 
105
107
  def manipulate_resource_list resources
106
- asciidoc_opts = app.config[:asciidoc].merge parse_header_only: true
107
- asciidoc_opts[:attributes] = (asciidoc_attrs = asciidoc_opts[:attributes].merge 'skip-front-matter' => '')
108
- app.config[:asciidoc].delete :base_dir if (use_docdir_as_base_dir = asciidoc_opts[:base_dir] == :docdir)
109
- resources.each do |resource|
110
- next if resource.ignored? || (path = resource.source_file).blank? || !(path.end_with? '.adoc')
108
+ header_asciidoc_opts = app.config[:asciidoc].merge parse_header_only: true
109
+ header_asciidoc_attrs = (header_asciidoc_opts[:attributes] = header_asciidoc_opts[:attributes].merge 'skip-front-matter' => '')
110
+ use_docdir_as_base_dir = header_asciidoc_opts[:base_dir] == :docdir
111
111
 
112
- opts, page = {}, {}
112
+ resources.select {|res| !res.ignored? && (asciidoc_file? res) }.each do |resource|
113
+ path = resource.source_file
114
+ if (page_asciidoc_opts = resource.options.delete :renderer_options)
115
+ (page_asciidoc_opts[:attributes] ||= {})['page-id'] = resource.page_id
116
+ else
117
+ page_asciidoc_opts = { attributes: { 'page-id' => resource.page_id } }
118
+ end
119
+ opts, page = { renderer_options: page_asciidoc_opts }, {}
113
120
 
114
- asciidoc_attrs['page-layout'] = %(#{resource.options[:layout]}@)
115
- opts[:base_dir] = asciidoc_opts[:base_dir] = ::File.dirname path if use_docdir_as_base_dir
121
+ header_asciidoc_opts[:base_dir] = page_asciidoc_opts[:base_dir] = ::File.dirname path if use_docdir_as_base_dir
122
+ header_asciidoc_attrs['page-layout'] = %(#{resource.options[:layout]}@)
116
123
  # read AsciiDoc header only to set page options and data
117
124
  # header values can be accessed via app.data.page.<name> in the layout
118
- doc = ::Asciidoctor.load_file path, asciidoc_opts
125
+ doc = ::Asciidoctor.load_file path, header_asciidoc_opts
119
126
 
120
127
  if (doc.attr? 'page-ignored') && !(doc.attr? 'page-ignored', 'false')
121
128
  resource.ignore!
@@ -133,7 +140,7 @@ module Middleman
133
140
  opts[:layout] = false
134
141
  when :false
135
142
  opts[:layout] = false
136
- opts[:header_footer] = true
143
+ page_asciidoc_opts[:header_footer] = true
137
144
  else
138
145
  opts[:layout] = layout
139
146
  opts[:layout_engine] = doc.attr 'page-layout-engine' if doc.attr? 'page-layout-engine'
@@ -141,7 +148,7 @@ module Middleman
141
148
  end
142
149
  else
143
150
  opts[:layout] = false
144
- opts[:header_footer] = true
151
+ page_asciidoc_opts[:header_footer] = true
145
152
  end
146
153
 
147
154
  page[:title] = doc.doctitle if doc.header?
@@ -178,9 +185,14 @@ module Middleman
178
185
  resource.destination_path << doc.outfilesuffix
179
186
  end
180
187
 
181
- # NOTE opts won't override any keys defined in global options
188
+ # NOTE only options[:renderer_options] overrides keys defined in global options
182
189
  resource.add_metadata options: opts, page: page
183
190
  end
191
+ resources
192
+ end
193
+
194
+ def asciidoc_file? resource
195
+ (path = resource.source_file) && (path.end_with? *app.config[:asciidoc_extensions])
184
196
  end
185
197
 
186
198
  def merge_attributes attrs, initial = {}
@@ -232,7 +244,7 @@ module Middleman
232
244
  # Returns an [Object] parsed from the string-based YAML value or empty [String] if the specified value is empty.
233
245
  def parse_yaml_value val
234
246
  if val.empty?
235
- ''
247
+ val
236
248
  else
237
249
  begin
238
250
  ::YAML.load %(--- #{val})
@@ -242,25 +254,58 @@ module Middleman
242
254
  end
243
255
  end
244
256
  end
257
+
258
+ # Resolves lazy AsciidoctorTemplate entries in the Tilt mapping, prunes those entries, and returns the
259
+ # extensions (with the leading dot) for which the AsciidoctorTemplate is registered.
260
+ #
261
+ # Pruning prevents Tilt::Mapping.default_mapping#extensions_for from returning duplicate extensions.
262
+ #
263
+ # Returns a String Array of extensions for which the AsciidoctorTemplate is registered.
264
+ def prune_tilt_mapping!
265
+ if ::Tilt.respond_to? :default_mapping
266
+ (mapping = ::Tilt.default_mapping).extensions_for(::Tilt::AsciidoctorTemplate).uniq.map do |ext|
267
+ if mapping.lazy_map.key? ext
268
+ mapping[ext]
269
+ mapping.lazy_map.delete ext
270
+ end
271
+ %(.#{ext})
272
+ end
273
+ else
274
+ ::Tilt.mappings.select {|_, classes| classes.include? ::Tilt::AsciidoctorTemplate }.keys.map {|ext| %(.#{ext}) }
275
+ end
276
+ end
245
277
  end
246
278
 
247
279
  # Resolves the automatic layout if no layout has been specified and this resource is not a blog article
248
280
  class DefaultLayoutConfigurator
249
- def initialize layout
281
+ def initialize app, layout
282
+ @app = app
250
283
  @layout = layout
251
284
  end
252
285
 
253
286
  def manipulate_resource_list resources
254
- resources.each do |resource|
255
- next if resource.ignored? || (path = resource.source_file).blank? || !(path.end_with? '.adoc') ||
256
- resource.options[:layout] != :_auto_layout
257
- if (resource.respond_to? :blog_data) && (blog_layout = resource.blog_data.options[:layout]) &&
287
+ resources.select {|res| !res.ignored? && (has_auto_layout? res) && (asciidoc_file? res) }.each do |resource|
288
+ if (blog_article? resource) &&
289
+ (blog_layout = resource.blog_data.options[:layout]) &&
258
290
  (blog_layout = blog_layout.to_sym) != :_auto_layout
259
291
  resource.options[:layout] = blog_layout
260
292
  else
261
293
  resource.options[:layout] = @layout
262
294
  end
263
295
  end
296
+ resources
297
+ end
298
+
299
+ def has_auto_layout? resource
300
+ resource.options[:layout] == :_auto_layout
301
+ end
302
+
303
+ def asciidoc_file? resource
304
+ (path = resource.source_file) && (path.end_with? *@app.config[:asciidoc_extensions])
305
+ end
306
+
307
+ def blog_article? resource
308
+ resource.respond_to? :blog_data
264
309
  end
265
310
  end
266
311
  end
@@ -1,5 +1,5 @@
1
1
  module Middleman
2
2
  module AsciiDoc
3
- VERSION = '1.0.0.rc.4'
3
+ VERSION = '1.0.0.rc.5'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-asciidoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc.4
4
+ version: 1.0.0.rc.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Allen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-30 00:00:00.000000000 Z
11
+ date: 2017-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: middleman-core
@@ -57,6 +57,7 @@ files:
57
57
  - features/asciidoc-pages.feature
58
58
  - features/support/env.rb
59
59
  - fixtures/asciidoc-blog-app/config-asciidoc-layout.rb
60
+ - fixtures/asciidoc-blog-app/config-auto-layout.rb
60
61
  - fixtures/asciidoc-blog-app/config-date-in-filename.rb
61
62
  - fixtures/asciidoc-blog-app/config-published-only.rb
62
63
  - fixtures/asciidoc-blog-app/config.rb
@@ -72,7 +73,8 @@ files:
72
73
  - fixtures/asciidoc-blog-app/source/index.html.erb
73
74
  - fixtures/asciidoc-blog-app/source/layouts/article.erb
74
75
  - fixtures/asciidoc-blog-app/source/layouts/asciidoc_page.erb
75
- - fixtures/asciidoc-pages-app/config-default-layout.rb
76
+ - fixtures/asciidoc-pages-app/config-global-layout.rb
77
+ - fixtures/asciidoc-pages-app/config-page-layout.rb
76
78
  - fixtures/asciidoc-pages-app/config.rb
77
79
  - fixtures/asciidoc-pages-app/source/_include.adoc
78
80
  - fixtures/asciidoc-pages-app/source/backend.adoc
@@ -80,6 +82,7 @@ files:
80
82
  - fixtures/asciidoc-pages-app/source/custom-attribute.adoc
81
83
  - fixtures/asciidoc-pages-app/source/custom-imagesdir.adoc
82
84
  - fixtures/asciidoc-pages-app/source/gallery.adoc
85
+ - fixtures/asciidoc-pages-app/source/goodbye.asciidoc
83
86
  - fixtures/asciidoc-pages-app/source/hello-with-extension.html.adoc
84
87
  - fixtures/asciidoc-pages-app/source/hello-with-front-matter.adoc
85
88
  - fixtures/asciidoc-pages-app/source/hello-with-mixed-page-data.adoc
@@ -101,6 +104,7 @@ files:
101
104
  - fixtures/asciidoc-pages-app/source/safe-mode.adoc
102
105
  - fixtures/asciidoc-pages-app/source/site-information.adoc
103
106
  - fixtures/asciidoc-pages-app/source/standard-page-data.adoc
107
+ - fixtures/asciidoc-pages-app/source/topic/echo-page-id.adoc
104
108
  - lib/middleman-asciidoc.rb
105
109
  - lib/middleman-asciidoc/extension.rb
106
110
  - lib/middleman-asciidoc/middleman_extension.rb
@@ -135,6 +139,7 @@ test_files:
135
139
  - features/asciidoc-pages.feature
136
140
  - features/support/env.rb
137
141
  - fixtures/asciidoc-blog-app/config-asciidoc-layout.rb
142
+ - fixtures/asciidoc-blog-app/config-auto-layout.rb
138
143
  - fixtures/asciidoc-blog-app/config-date-in-filename.rb
139
144
  - fixtures/asciidoc-blog-app/config-published-only.rb
140
145
  - fixtures/asciidoc-blog-app/config.rb
@@ -150,7 +155,8 @@ test_files:
150
155
  - fixtures/asciidoc-blog-app/source/index.html.erb
151
156
  - fixtures/asciidoc-blog-app/source/layouts/article.erb
152
157
  - fixtures/asciidoc-blog-app/source/layouts/asciidoc_page.erb
153
- - fixtures/asciidoc-pages-app/config-default-layout.rb
158
+ - fixtures/asciidoc-pages-app/config-global-layout.rb
159
+ - fixtures/asciidoc-pages-app/config-page-layout.rb
154
160
  - fixtures/asciidoc-pages-app/config.rb
155
161
  - fixtures/asciidoc-pages-app/source/_include.adoc
156
162
  - fixtures/asciidoc-pages-app/source/backend.adoc
@@ -158,6 +164,7 @@ test_files:
158
164
  - fixtures/asciidoc-pages-app/source/custom-attribute.adoc
159
165
  - fixtures/asciidoc-pages-app/source/custom-imagesdir.adoc
160
166
  - fixtures/asciidoc-pages-app/source/gallery.adoc
167
+ - fixtures/asciidoc-pages-app/source/goodbye.asciidoc
161
168
  - fixtures/asciidoc-pages-app/source/hello-with-extension.html.adoc
162
169
  - fixtures/asciidoc-pages-app/source/hello-with-front-matter.adoc
163
170
  - fixtures/asciidoc-pages-app/source/hello-with-mixed-page-data.adoc
@@ -179,3 +186,4 @@ test_files:
179
186
  - fixtures/asciidoc-pages-app/source/safe-mode.adoc
180
187
  - fixtures/asciidoc-pages-app/source/site-information.adoc
181
188
  - fixtures/asciidoc-pages-app/source/standard-page-data.adoc
189
+ - fixtures/asciidoc-pages-app/source/topic/echo-page-id.adoc