Class: Jekyll::AgentMarkdown::RawMarkdownFile

Inherits:
StaticFile
  • Object
show all
Defined in:
lib/jekyll/agent_markdown/raw_markdown_file.rb

Instance Method Summary collapse

Constructor Details

#initialize(site, url, content) ⇒ RawMarkdownFile

Returns a new instance of RawMarkdownFile.



9
10
11
12
13
# File 'lib/jekyll/agent_markdown/raw_markdown_file.rb', line 9

def initialize(site, url, content)
  @content = content
  path = validated_path(url)
  super(site, site.source, File.dirname(path), File.basename(path))
end

Instance Method Details

#modified_timeObject

The inherited implementation stats the source path, which never exists for generated files.



23
24
25
# File 'lib/jekyll/agent_markdown/raw_markdown_file.rb', line 23

def modified_time
  @modified_time ||= @site.time
end

#pathObject

In-memory files have no source path. Returning nil also makes Jekyll's incremental regenerator write them on every build.



17
18
19
# File 'lib/jekyll/agent_markdown/raw_markdown_file.rb', line 17

def path
  nil
end

#write(destination) ⇒ Object



32
33
34
35
36
37
38
39
40
41
# File 'lib/jekyll/agent_markdown/raw_markdown_file.rb', line 32

def write(destination)
  output = self.destination(destination)
  validate_destination!(destination, output)
  FileUtils.mkdir_p(File.dirname(output))
  validate_destination!(destination, output)
  File.open(output, write_flags, 0o644) { |file| file.write(@content) }
  true
rescue Errno::ELOOP
  raise Jekyll::Errors::FatalException, "unsafe generated destination: #{output.inspect}"
end

#write?Boolean

Front-matter defaults target authored files, not plugin output.

Returns:

  • (Boolean)


28
29
30
# File 'lib/jekyll/agent_markdown/raw_markdown_file.rb', line 28

def write?
  true
end