Module: Mdlint

Defined in:
lib/mdlint.rb,
lib/mdlint/cli.rb,
lib/mdlint/lsp.rb,
lib/mdlint/toc.rb,
lib/mdlint/token.rb,
lib/mdlint/config.rb,
lib/mdlint/linter.rb,
lib/mdlint/parser.rb,
lib/mdlint/plugin.rb,
lib/mdlint/dialect.rb,
lib/mdlint/version.rb,
lib/mdlint/renderer.rb,
lib/mdlint/text_width.rb,
lib/mdlint/cache_store.rb,
lib/mdlint/linter/rule.rb,
lib/mdlint/parser/state.rb,
lib/mdlint/parallel_runner.rb,
lib/mdlint/linter/violation.rb,
lib/mdlint/linter/rule_engine.rb,
lib/mdlint/parser/block_parser.rb,
lib/mdlint/cli/output_formatter.rb,
lib/mdlint/parser/inline_parser.rb,
lib/mdlint/renderer/md_renderer.rb,
lib/mdlint/linter/rules/japanese.rb,
lib/mdlint/renderer/html_renderer.rb,
lib/mdlint/linter/directive_filter.rb,
lib/mdlint/linter/rules/link_check.rb,
lib/mdlint/linter/rules/line_length.rb,
lib/mdlint/linter/rules/source_style.rb,
lib/mdlint/linter/rules/heading_style.rb,
lib/mdlint/linter/rules/code_block_syntax.rb,
lib/mdlint/linter/rules/heading_increment.rb,
lib/mdlint/linter/rules/first_line_heading.rb,
lib/mdlint/linter/rules/no_multiple_blanks.rb,
lib/mdlint/linter/rules/no_trailing_spaces.rb,
sig/mdlint.rbs,
sig/internal.rbs

Defined Under Namespace

Modules: Linter, Lsp, Parser, Plugin, Renderer, TextWidth, Toc Classes: CLI, CacheStore, Config, Dialect, Error, ParallelRunner, Token

Constant Summary collapse

VERSION =

Returns:

  • (String)
"0.2.0"

Class Method Summary collapse

Class Method Details

.fix(src, options = {}) ⇒ String

Parameters:

  • source (String)
  • options (options) (defaults to: {})

Returns:

  • (String)


46
47
48
# File 'lib/mdlint.rb', line 46

def fix(src, options = {})
  Linter.fix(src, options)
end

.format(src, options = {}) ⇒ String

Parameters:

  • source (String)
  • options (options) (defaults to: {})

Returns:

  • (String)


20
21
22
23
24
# File 'lib/mdlint.rb', line 20

def format(src, options = {})
  tokens = Parser.parse(src, options)
  formatted = Renderer.render(tokens, options)
  options[:toc] ? Toc.update(formatted, options) : formatted
end

.format_file(path, options = {}) ⇒ String, bool

Parameters:

  • path (String)
  • options (options) (defaults to: {})

Returns:

  • (String, bool)


30
31
32
33
34
35
36
37
38
39
40
# File 'lib/mdlint.rb', line 30

def format_file(path, options = {})
  src = File.read(path)
  formatted = format(src, options)

  if options[:check]
    src != formatted
  else
    File.write(path, formatted) unless options[:diff]
    formatted
  end
end

.html(src, options = {}) ⇒ String

Parameters:

  • source (String)
  • options (options) (defaults to: {})

Returns:

  • (String)


26
27
28
# File 'lib/mdlint.rb', line 26

def html(src, options = {})
  Renderer.render_html(Parser.parse(src, options), options)
end

.lint(src, options = {}) ⇒ Array[Linter::Violation]

Parameters:

  • source (String)
  • options (options) (defaults to: {})

Returns:



50
51
52
# File 'lib/mdlint.rb', line 50

def lint(src, options = {})
  Linter.check(src, options)
end

.lint_file(path, options = {}) ⇒ Array[Linter::Violation]

Parameters:

  • path (String)
  • options (options) (defaults to: {})

Returns:



54
55
56
57
# File 'lib/mdlint.rb', line 54

def lint_file(path, options = {})
  src = File.read(path)
  lint(src, options.merge(filename: path))
end

.parse(src, options = {}) ⇒ Array[Token]

Parameters:

  • source (String)
  • options (options) (defaults to: {})

Returns:



42
43
44
# File 'lib/mdlint.rb', line 42

def parse(src, options = {})
  Parser.parse(src, options)
end

.update_toc(source, options = {}) ⇒ String

Parameters:

  • source (String)
  • options (options) (defaults to: {})

Returns:

  • (String)


76
77
78
# File 'lib/mdlint/toc.rb', line 76

def update_toc(source, options = {})
  Toc.update(source, options)
end