Raku / doc-website

Tooling to build/run the documentation website
Artistic License 2.0
7 stars 10 forks source link

epub file fails validation #374

Open coke opened 3 months ago

coke commented 3 months ago

1) Great to have an epub! Much thanks to @finanalyst !!

2) Doesn't open in apple books, which supports epub 3.3. Ran it through https://draft2digital.com/book/epubcheck/upload and it reports these issues (most of which are bad chars in filenames)

Validation Errors ``` Epub Validator Validation for current epub: WARNING: Apple, Tolino, OverDrive, Amazon, Bibliotheca, Baker & Taylor, Hoopla, Vivlio, D2D Print, BorrowBox, Smashwords, Palace Marketplace, Gardners, and Fable will be disabled until this epub can pass EpubCheck - Hide Errors ERROR(PKG-006): (-1,-1): Mimetype file entry is missing or is not the first file in the archive. ERROR(PKG-009): (-1,-1): The file name "type/Lock::ConditionVariable.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Declaration::Scope::Multi.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::IO::Rename.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::NegatedPair.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Does::TypeObject.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Proc::Async::BindOrUse.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::IO::Chmod.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Promise::CauseOnlyValidOnBroken.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Bind::Slice.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::IO::Unlink.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::TypeCheck::Binding.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::IO::Dir.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Pod::Heading.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::ParametricRoleGroupHOW.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/CX::Take.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Package::Stubbed.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::NoDispatcher.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Undeclared.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::Trusting.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Numeric::Real.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::RolePunning.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/RakuAST::Doc::DeclaratorTarget.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/RakuAST::Doc::Declarator.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Routine::WrapHandle.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Bind.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::DateTime::TimezoneClash.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Number::RadixOutOfRange.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Attribute::Required.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Regex::Adverb.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/RakuAST::Doc.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Pod::Block::Comment.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Inheritance::Unsupported.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Supplier::Preserving.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Telemetry::Period.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Distribution::Locally.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Temporal.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/CX::Redo.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/CX::Warn.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Path::QNX.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/RakuAST::Doc::Markup.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Parameter::Twigil.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Str::Numeric.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::ParametricRoleHOW.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Pod::FormattingCode.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::PackageHOW.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::DefiniteHOW.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Caller::NotDynamic.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Proc::Async::OpenForWriting.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::OutOfRange.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::IO::Link.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Attribute::NoPackage.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::ControlFlow.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::IO::Copy.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Pod::Block.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Composition::NotComposable.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::MultipleInheritance.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Method::Private::Permission.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::C3MRO.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Telemetry::Instrument::ThreadPool.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Spec.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Special.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Signature::NameClash.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Proc::Async::TapBeforeSpawn.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Assignment::RO.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/CX::Last.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Self::WithoutObject.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Declaration::Scope.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Proc::Async::CharsOrBytes.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::Stashing.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/CX::Proceed.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::Primitives.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Proc::Async::MustBeStarted.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Placeholder::Mainline.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Proc::Async.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Path.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Parameter::Placeholder.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::IO::Chown.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Spec::Unix.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Notification::Change.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::MROBasedMethodDispatch.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Bind::NativeType.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::UnlessElse.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Mixin::NotComposable.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Socket::INET.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Control.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Dynamic::NotFound.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Pod::Block::Para.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::AttributeContainer.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::IO.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Role::Initialization.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Parameter::Default.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/CompUnit::Repository.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Seq::Consumed.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Spec::QNX.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::CatHandle.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Cannot::Empty.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Pod::Block::Table.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::OS.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::TypeCheck::Assignment.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Constructor::Positional.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Lock::Async.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Phaser::PrePost.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Term::MissingInitializer.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Attribute::Undeclared.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::MethodContainer.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::StubCode.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Telemetry::Instrument::Usage.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::IO::Mkdir.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Comp.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::EnumHOW.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Method::InvalidQualifier.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Pod::Block::Code.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::P5.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Path::Cygwin.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::NoSelf.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Socket::Async.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Pod::Item.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Socket::Async::ListenSocket.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::TypeCheck.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/CX::Succeed.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Cannot::Lazy.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Notification.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Pod::Block::Named.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Path::Win32.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Malformed.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/CompUnit::Repository::FileSystem.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Augment::WithoutMonkeyTyping.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/CX::Return.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Confused.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Variable::Match.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Distribution::Resource.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::IO::Move.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Proc::Async.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Spec::Cygwin.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Parameter::MultipleTypeConstraints.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/CompUnit::PrecompilationRepository.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Anon::Multi.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Signature::InvocantMarker.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::PrivateMethodContainer.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::Mixins.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Scheduler::CueInNaNSeconds.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::Finalization.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Telemetry::Instrument::Thread.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Spec::Win32.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/CX::Next.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Pod::Defn.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::ControlFlow::Return.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Attribute::Package.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/CX::Emit.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::Naming.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Export::NameClash.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Pipe.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::ArgFiles.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Method::Private::Unqualified.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Proc::Unsuccessful.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Augment::NoSuchType.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::NYI.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Inheritance::NotComposed.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/RakuAST::Doc::Paragraph.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::ConcreteRoleHOW.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Path::Parts.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Channel::SendOnClosed.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Parameter::WrongOrder.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/CX::Done.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Obsolete.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Encoding::Registry.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Variable::Twigil.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Sequence::Deduction.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::IO::DoesNotExist.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Proc::Async::AlreadyStarted.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Variable::Numeric.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/RakuAST::Doc::Block.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Handle.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/CompUnit::Repository::Installation.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Anon::Augment.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::TypeCheck::Return.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Redeclaration.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Missing.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::Versioning.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Temporal::InvalidFormat.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Telemetry::Sampler.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::IO::Chdir.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::CurriedRoleHOW.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Reserved.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Signature::Placeholder.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Distribution::Path.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Channel::ReceiveOnClosed.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::TypeCheck::Splice.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Pod::Block::Declarator.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Promise::Vowed.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Path::Unix.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::Documenting.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::InfixInTermPosition.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Perl5Var.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::RoleContainer.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Eval::NoSuchLang.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Backtrace::Frame.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Metamodel::ClassHOW.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::IO::Rmdir.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Comment::Embedded.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Method::NotFound.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::IO::Symlink.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/Distribution::Hash.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::AdHoc.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/IO::Socket.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Placeholder::Block.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Phaser::Multiple.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Pod.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::Syntax::Regex::SolitaryQuantifier.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(PKG-009): (-1,-1): The file name "type/X::IO::Cwd.xhtml" contains characters that are not allowed in OCF file names: U+003A (:). ERROR(RSC-005): /metadata.opf(7,70): Error while parsing file: found attribute "opf:scheme", but no attributes allowed here ERROR(RSC-005): /metadata.opf(8,40): Error while parsing file: attribute "opf:role" not allowed here; expected attribute "dir", "id" or "xml:lang" ERROR(RSC-005): /metadata.opf(12,20): Error while parsing file: element "dc:author" not allowed anywhere; expected the element end-tag or element "dc:contributor", "dc:coverage", "dc:creator", "dc:date", "dc:description", "dc:format", "dc:identifier", "dc:language", "dc:publisher", "dc:relation", "dc:rights", "dc:source", "dc:subject", "dc:title", "dc:type", "link" or "meta" ERROR(RSC-005): /metadata.opf(14,21): Error while parsing file: element "dc:license" not allowed anywhere; expected the element end-tag or element "dc:contributor", "dc:coverage", "dc:creator", "dc:date", "dc:description", "dc:format", "dc:identifier", "dc:language", "dc:publisher", "dc:relation", "dc:rights", "dc:source", "dc:subject", "dc:title", "dc:type", "link" or "meta" ERROR(RSC-005): /metadata.opf(15,26): Error while parsing file: element "dc:rightsHolder" not allowed anywhere; expected the element end-tag or element "dc:contributor", "dc:coverage", "dc:creator", "dc:date", "dc:description", "dc:format", "dc:identifier", "dc:language", "dc:publisher", "dc:relation", "dc:rights", "dc:source", "dc:subject", "dc:title", "dc:type", "link" or "meta" ```
finanalyst commented 3 months ago

@coke thanks for the validation data - it may help with multiple readers. So three types of error - I think:

  1. position of MIMETYPE file in zipped archive. This will need addressing in the way the archive is formed. Not sure how though. There is probably a way to tell zip the order of files.
  2. : character is used in filenames. Here is the rationale and some possible ways to deal with this
    • To access the CSS, all content files need to be one subdirectory down in the epub's internal filesystem.
    • Many (particularly type/) files are multiple layers down. So changing the sub-directory depth by replacing / with : seems naturally Perlish
    • variant workaround:
      1. change : to another char, such as _ . This would probably be the easiest, but feedback would be welcome.
      2. find out how to escape : in OCF file names. Preferable if possible, but not sure yet how
  3. A variety of attribute errors in metadata.opf. Confession: I cut and pasted most of them from another epub. I looked up the specification and tweeked things a bit, but without great understanding. So perhaps too much was included.
    • If someone with more knowledge could chip in, that would be good
    • We want some basic attributes, such as copyright and authorship.
dontlaugh commented 3 months ago

change : to another char, such as _ .

This is what I'd recommend. If the need arises to disambiguate between _ that are conversions of : and _ that are needed for some other reason, you can use a double or even triple underscore for : (___)

Here is the specification https://www.w3.org/TR/epub/#sec-epub-conf

dontlaugh commented 3 months ago

Ah, here is a command line tool we can use to check conformance to the epub spec :) https://www.w3.org/publishing/epubcheck/