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

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 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