Module: Cosensee::Node
- Defined in:
- lib/cosensee/node/code.rb,
lib/cosensee/node/link.rb,
lib/cosensee/node/quote.rb,
lib/cosensee/node/indent.rb,
lib/cosensee/node/hash_tag.rb,
lib/cosensee/node/codeblock.rb,
lib/cosensee/node/command_line.rb,
lib/cosensee/node/icon_bracket.rb,
lib/cosensee/node/text_bracket.rb,
lib/cosensee/node/blank_bracket.rb,
lib/cosensee/node/empty_bracket.rb,
lib/cosensee/node/image_bracket.rb,
lib/cosensee/node/double_bracket.rb,
lib/cosensee/node/formula_bracket.rb,
lib/cosensee/node/youtube_bracket.rb,
lib/cosensee/node/decorate_bracket.rb,
lib/cosensee/node/gyazo_image_bracket.rb,
lib/cosensee/node/external_link_bracket.rb,
lib/cosensee/node/internal_link_bracket.rb,
lib/cosensee/node/spotify_playlist_bracket.rb
Constant Summary collapse
- Code =
parse a line
Data.define(:content, :raw) do alias_method :to_s, :raw def to_obj "`#{content}`" end def to_json(*) to_obj.to_json(*) end end
- Link =
link node
Data.define(:content, :raw) do alias_method :to_s, :raw def to_obj content end def to_json(*) to_obj.to_json(*) end end
- Quote =
for quote
Data.define(:content, :raw, :mark) do def replace_content(new_content) Quote.new(content: new_content, raw:, mark:) end def to_s content.map(&:to_s).join end def to_obj content end def to_json(*) to_obj.to_json(*) end end
- Indent =
for normal Text
Data.define(:content, :raw) do def initialize(content: '', raw: '') @level = content.size super end attr_reader :level alias_method :to_s, :raw def to_obj content end def to_json(*) to_obj.to_json(*) end end
- HashTag =
parse a hash tag
Data.define(:content, :raw) do alias_method :to_s, :raw alias_method :anchor, :content def to_obj "##{content}" end def to_json(*) to_obj.to_json(*) end end
- Codeblock =
for codeblock
Data.define(:content, :name, :raw) do alias_method :to_s, :raw # @param [String] text # @param [String] raw_line # @return [Codeblock] def append_text(text:, raw_line:) new_content = if content && !content.empty? "#{content}\n#{text}" else text end Codeblock.new(content: new_content, name:, raw: "#{raw}\n#{raw_line}") end def to_obj "code:#{content}" end def to_json(*) to_obj.to_json(*) end end
- CommandLine =
for command line
Data.define(:content, :prompt, :raw) do alias_method :to_s, :raw def to_obj "#{prompt} #{content}" end def to_json(*) to_obj.to_json(*) end end
- IconBracket =
for Icon
Data.define(:content, :icon_name, :raw) do include BracketSerializer end
- TextBracket =
for mixed content (!= single text)
Data.define(:content, :raw) do include BracketSerializer end
- BlankBracket =
for bracket only spaces
Data.define(:content, :blank, :raw) do include BracketSerializer end
- EmptyBracket =
for empty bracket
Data.define(:content, :raw) do include BracketSerializer end
- ImageBracket =
for Image
Data.define(:content, :link, :src, :raw) do include BracketSerializer end
- DoubleBracket =
for double Bracket
Data.define(:content, :raw) do def image? content.size == 1 && content[0].match?(/\.(png|jpg)$/) end alias_method :to_s, :raw def to_obj "[[#{content}]]" end def to_json(*) to_obj.to_json(*) end end
- FormulaBracket =
for Formula
Data.define(:content, :formula, :raw) do include BracketSerializer end
- YoutubeBracket =
for Image
Data.define(:content, :video_id, :raw) do include BracketSerializer end
- DecorateBracket =
for Decorate
Data.define( :content, :font_size, :underlined, :slanted, :deleted, :text, :raw ) do include BracketSerializer # override def to_s text end end
- GyazoImageBracket =
for Image
Data.define(:content, :link, :src, :image_id, :raw) do include BracketSerializer end
- ExternalLinkBracket =
for Formula
Data.define(:content, :link, :anchor, :raw) do include BracketSerializer end
- InternalLinkBracket =
for Icon
Data.define(:content, :link, :anchor, :raw) do include BracketSerializer end
- SpotifyPlaylistBracket =
for Spotify Playlist
Data.define(:content, :src, :playlist_id, :raw) do include BracketSerializer end