Open plaindocs opened 5 years ago
Thanks for the report, Samuel, and the contribution! Can you run bundle exec liquidoc -c _config/build-global
and just give me the few lines leading up to the error?
If you want to implement ePub, I have some ideas for that, I have an issue open that is basically for that. https://github.com/DocOps/liquidoc-gem/issues/13 -- we could discuss it there :-).
Adding the extra .yml
in your command leaves me at:
INFO: Copied assets to _build.
INFO: File built: _build/pages/resume.adoc
INFO: Generating PDF. This can take some time...
INFO: Rendered file _build/assets/files/brian-dominick-resume.pdf.
INFO: File built: _build/assets/includes/item-lists.adoc
INFO: File built: _build/publish/assets/includes/item-lists.adoc
INFO: File built: _build/book-cw/backmatter/bibliography.adoc
INFO: File built: _build/book-cw/backmatter/glossary.adoc
INFO: File built: _build/pages/docops-glossary.adoc
INFO: Copied _data/glossary.yml to _build/book-cw/_data.
INFO: Copied README.adoc to _build.
INFO: Copied LICENSE.md to _build.
WARN: Problem while copying assets. File exists @ dir_s_mkdir - _build/book-cw/_data
/home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1262:in `mkdir': File exists @ dir_s_mkdir - _build/book-cw/_data (Errno::EEXIST)
from /home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1262:in `copy'
from /home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:415:in `block in copy_entry'
from /home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1387:in `wrap_traverse'
from /home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1390:in `block in wrap_traverse'
from /home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1389:in `each'
from /home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1389:in `wrap_traverse'
from /home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:412:in `copy_entry'
from /home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:390:in `block in cp_r'
from /home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1460:in `block in fu_each_src_dest'
from /home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1474:in `fu_each_src_dest0'
from /home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1458:in `fu_each_src_dest'
from /home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:389:in `cp_r'
from /home/samuel/.gem/ruby/2.4.1/gems/liquidoc-0.8.1/lib/liquidoc.rb:745:in `copy_assets'
from /home/samuel/.gem/ruby/2.4.1/gems/liquidoc-0.8.1/lib/liquidoc.rb:109:in `block in iterate_build'
from /home/samuel/.gem/ruby/2.4.1/gems/liquidoc-0.8.1/lib/liquidoc.rb:88:in `each'
from /home/samuel/.gem/ruby/2.4.1/gems/liquidoc-0.8.1/lib/liquidoc.rb:88:in `iterate_build'
from /home/samuel/.gem/ruby/2.4.1/gems/liquidoc-0.8.1/lib/liquidoc.rb:83:in `config_build'
from /home/samuel/.gem/ruby/2.4.1/gems/liquidoc-0.8.1/lib/liquidoc.rb:1127:in `<top (required)>'
from /home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/samuel/.gem/ruby/2.4.1/gems/liquidoc-0.8.1/bin/liquidoc:3:in `<top (required)>'
from /home/samuel/.gem/ruby/2.4.1/bin/liquidoc:22:in `load'
from /home/samuel/.gem/ruby/2.4.1/bin/liquidoc:22:in `<main>'
So I've been able to reproduce this exact error using someone else's PR branch, but not my master or your branch. But at least I can work on it. The fix isn't obvious but I'll take a crack at it today.
I lost the ability to reproduce this error. It's very weird. If it's what I think it is, I'm not sure why it's working at all. Let me know if the following fixes this (and if so maybe you could add it to this PR).
Move the block starting on line 77 up to line 41. So
- stage: copy-book-files
action: migrate
message: Copying book files.
source: book-cw
target: _build
Should be before anything else tries to write to _build/book-cw/
or a subdir. This doesn't introduce any errors for me, so if it fixes yours I think we're in business.
Samuel what OS are you on?
I'm running on Linux (up to date Antergos / Arch)
$ bundle exec liquidoc --verbose -c _config/build-global.yml
DEBUG: Base dir: /home/samuel/Nosync/Repositories/codewriting/ (The path from which LiquiDoc CLI commands are relative.)
DEBUG: Executing... config_build
DEBUG: Using config file /home/samuel/Nosync/Repositories/codewriting/_config/build-global.yml.
DEBUG: Validating input file for config file /home/samuel/Nosync/Repositories/codewriting/_config/build-global.yml
DEBUG: Copying assets to _build
INFO: Copied assets to _build.
DEBUG: Executing liquify parsing operation.
DEBUG: Validating input file for data file _data/resume-data.yml
DEBUG: Executing liquify parsing operation.
DEBUG: Validating input file for data file _data/resume-data.yml
DEBUG: Validating input file for template file _templates/liquid/resume.asciidoc
INFO: File built: _build/pages/resume.adoc
DEBUG: Validating input file for source file _build/pages/resume.adoc
DEBUG: Validating input file for attributes file _config/attributes.yml
DEBUG: Executing Asciidoctor render operation for _build/assets/files/brian-dominick-resume.pdf.
DEBUG: Final pre-parse attributes: ---
imagesdir: assets/images
chapter-label: Chapter
experimental: true
liquidoc_source_uri:
codewriting_source_uri: https://github.com/briandominick/codewriting
codewriting_website_uri: https://codewriting.org
edition: pdf
icons: font
pdf-fontsdir: theme/fonts
safe: unsafe
INFO: Generating PDF. This can take some time...
DEBUG: Running asciidoctor-pdf -o _build/assets/files/brian-dominick-resume.pdf -b pdf -d article -S unsafe -a imagesdir='assets/images' -a chapter-label='Chapter' -a experimental='true' -a liquidoc_source_uri='' -a codewriting_source_uri='https://github.com/briandominick/codewriting' -a codewriting_website_uri='https://codewriting.org' -a edition='pdf' -a icons='font' -a pdf-fontsdir='theme/fonts' -a safe='unsafe' -a no-header-footer --trace _build/pages/resume.adoc
DEBUG: AsciiDoc attributes: {"imagesdir"=>"assets/images", "chapter-label"=>"Chapter", "experimental"=>true, "liquidoc_source_uri"=>nil, "codewriting_source_uri"=>"https://github.com/briandominick/codewriting", "codewriting_website_uri"=>"https://codewriting.org", "edition"=>"pdf", "icons"=>"font", "pdf-fontsdir"=>"theme/fonts", "safe"=>"unsafe"}
INFO: Rendered file _build/assets/files/brian-dominick-resume.pdf.
DEBUG: Executing liquify parsing operation.
DEBUG: Validating input file for data file _data/item-lists.yml
DEBUG: Executing liquify parsing operation.
DEBUG: Validating input file for data file _data/item-lists.yml
DEBUG: Validating input file for template file _templates/liquid/item-lists.asciidoc
INFO: File built: _build/assets/includes/item-lists.adoc
DEBUG: Executing liquify parsing operation.
DEBUG: Validating input file for data file _data/item-lists.yml
DEBUG: Executing liquify parsing operation.
DEBUG: Validating input file for data file _data/item-lists.yml
DEBUG: Validating input file for template file _templates/liquid/item-lists.asciidoc
INFO: File built: _build/publish/assets/includes/item-lists.adoc
DEBUG: Copying LICENSE.md to _build
INFO: Copied LICENSE.md to _build.
DEBUG: Executing liquify parsing operation.
DEBUG: Validating input file for data file book-cw/_data/bibliography.yml
DEBUG: Executing liquify parsing operation.
DEBUG: Validating input file for data file book-cw/_data/bibliography.yml
DEBUG: Validating input file for template file _templates/liquid/bibliography.asciidoc
INFO: File built: _build/book-cw/backmatter/bibliography.adoc
DEBUG: Executing liquify parsing operation.
DEBUG: Validating input file for data file _data/glossary.yml
DEBUG: Executing liquify parsing operation.
DEBUG: Validating input file for data file _data/glossary.yml
DEBUG: Validating input file for template file _templates/liquid/glossary.asciidoc
INFO: File built: _build/book-cw/backmatter/glossary.adoc
DEBUG: Executing liquify parsing operation.
DEBUG: Validating input file for data file _data/glossary.yml
DEBUG: Executing liquify parsing operation.
DEBUG: Validating input file for data file _data/glossary.yml
DEBUG: Validating input file for template file _templates/liquid/glossary.asciidoc
INFO: File built: _build/pages/docops-glossary.adoc
DEBUG: Copying _data/glossary.yml to _build/book-cw/_data
INFO: Copied _data/glossary.yml to _build/book-cw/_data.
DEBUG: Copying README.adoc to _build
INFO: Copied README.adoc to _build.
DEBUG: Copying book-cw to _build
WARN: Problem while copying assets. File exists @ dir_s_mkdir - _build/book-cw/_data
bundler: failed to load command: liquidoc (/home/samuel/.gem/ruby/2.4.1/bin/liquidoc)
Errno::EEXIST: File exists @ dir_s_mkdir - _build/book-cw/_data
/home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1262:in `mkdir'
/home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1262:in `copy'
/home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:415:in `block in copy_entry'
/home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1387:in `wrap_traverse'
/home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1390:in `block in wrap_traverse'
/home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1389:in `each'
/home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1389:in `wrap_traverse'
/home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:412:in `copy_entry'
/home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:390:in `block in cp_r'
/home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1460:in `block in fu_each_src_dest'
/home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1474:in `fu_each_src_dest0'
/home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:1458:in `fu_each_src_dest'
/home/samuel/.rubies/ruby-2.4.1/lib/ruby/2.4.0/fileutils.rb:389:in `cp_r'
/home/samuel/.gem/ruby/2.4.1/gems/liquidoc-0.8.1/lib/liquidoc.rb:745:in `copy_assets'
/home/samuel/.gem/ruby/2.4.1/gems/liquidoc-0.8.1/lib/liquidoc.rb:109:in `block in iterate_build'
/home/samuel/.gem/ruby/2.4.1/gems/liquidoc-0.8.1/lib/liquidoc.rb:88:in `each'
/home/samuel/.gem/ruby/2.4.1/gems/liquidoc-0.8.1/lib/liquidoc.rb:88:in `iterate_build'
/home/samuel/.gem/ruby/2.4.1/gems/liquidoc-0.8.1/lib/liquidoc.rb:83:in `config_build'
/home/samuel/.gem/ruby/2.4.1/gems/liquidoc-0.8.1/lib/liquidoc.rb:1127:in `<top (required)>'
/home/samuel/.gem/ruby/2.4.1/gems/liquidoc-0.8.1/bin/liquidoc:3:in `require'
/home/samuel/.gem/ruby/2.4.1/gems/liquidoc-0.8.1/bin/liquidoc:3:in `<top (required)>'
/home/samuel/.gem/ruby/2.4.1/bin/liquidoc:22:in `load'
/home/samuel/.gem/ruby/2.4.1/bin/liquidoc:22:in `<top (required)>'
There is this if you're not checking if dirs exist
https://medium.com/@ryannovas/ruby-file-and-directory-cheatsheet-16bd36315d46#19f4
or maaaybe related to this
https://github.com/gbiczo/oxcelix/issues/3
or my third guess could be a dubious ruby chruby setup on my end.
So lacking a suitable local Linux environment at the moment, I've attempted to run the build on Netlify (Ruby 2.3.6) and got the same errors. So at this point I'm pretty convinced Linux is handling directory creation differently than MacOS. I'm sure I'm not the first to run into this, so it's on my list for today/tomorrow.
I may have this fixed. I think it's a Linux thing that somehow doesn't occur on MacOS. (Not tested on Windows yet, though I haven't had any reports from Windows users unable to build for this reason.)
I think you didn't reorder as advised before that last log you pasted above?
I was able to reproduce the error using Netlify on master (Linux and Ruby 2.3.6), but this PR passes: #29
Would you mind pulling and testing that locally?
I did indeed reorder. Trying the PR now.
I'm trying to build the single page html with a view to adding epub generation. But currently stuck at:
Deleting the file/dir doesn't help. Any ideas?