Module: Markdownator
- Defined in:
- lib/markdownator.rb,
lib/markdownator/engine.rb,
lib/markdownator/errors.rb,
lib/markdownator/result.rb,
lib/markdownator/version.rb,
lib/markdownator/stream_info.rb,
lib/markdownator/converters/csv.rb,
lib/markdownator/converters/pdf.rb,
lib/markdownator/converters/xml.rb,
lib/markdownator/converters/zip.rb,
lib/markdownator/converters/base.rb,
lib/markdownator/converters/docx.rb,
lib/markdownator/converters/epub.rb,
lib/markdownator/converters/html.rb,
lib/markdownator/converters/json.rb,
lib/markdownator/converters/pptx.rb,
lib/markdownator/converters/xlsx.rb,
lib/markdownator/converters/image.rb,
lib/markdownator/converters/plain_text.rb
Overview
Convert assorted file formats (Office docs, PDF, HTML, structured data, archives, images) into LLM-friendly Markdown.
Defined Under Namespace
Modules: Converters Classes: Engine, Error, FileConversionError, MissingDependencyError, Result, StreamInfo, UnsupportedFormatError
Constant Summary collapse
- VERSION =
"0.1.0"
Class Method Summary collapse
-
.convert(source, **options) ⇒ Markdownator::Result
Convert a local path, http(s) URL, or open IO stream to Markdown.
-
.convert_local(path, **options) ⇒ Object
Convert a local file path to Markdown.
-
.convert_stream(io, stream_info = nil, **options) ⇒ Object
Convert an open IO stream to Markdown.
-
.require_optional(gem_name, feature:) ⇒ Object
Lazily require an optional gem, raising a helpful error if it is missing.
Class Method Details
.convert(source, **options) ⇒ Markdownator::Result
Convert a local path, http(s) URL, or open IO stream to Markdown.
28 29 30 |
# File 'lib/markdownator.rb', line 28 def convert(source, **) default_engine.convert(source, **) end |
.convert_local(path, **options) ⇒ Object
Convert a local file path to Markdown.
33 34 35 |
# File 'lib/markdownator.rb', line 33 def convert_local(path, **) default_engine.convert_local(path, **) end |
.convert_stream(io, stream_info = nil, **options) ⇒ Object
Convert an open IO stream to Markdown. ‘stream_info` supplies format hints.
38 39 40 |
# File 'lib/markdownator.rb', line 38 def convert_stream(io, stream_info = nil, **) default_engine.convert_stream(io, stream_info, **) end |
.require_optional(gem_name, feature:) ⇒ Object
Lazily require an optional gem, raising a helpful error if it is missing.
43 44 45 46 47 48 |
# File 'lib/markdownator.rb', line 43 def require_optional(gem_name, feature:) require gem_name rescue LoadError raise MissingDependencyError, "#{feature} requires the '#{gem_name}' gem. Add it to your Gemfile: gem \"#{gem_name}\"" end |