Class: Infoboxer::Tree::Wikilink
- Includes:
- Linkable
- Defined in:
- lib/infoboxer/tree/wikilink.rb
Overview
Internal MediaWiki link class.
See Wikipedia docs for extensive explanation of Wikilink concept.
Note, that Wikilink is Linkable, so you can #follow it to obtain linked pages.
Instance Attribute Summary collapse
-
#anchor ⇒ Object
readonly
Anchor part of hyperlink, like
History
for[Argentina#History]
. -
#name ⇒ Object
readonly
"Clean" wikilink name, for ex.,
Cities
for[Category:Cities]
. -
#namespace ⇒ Object
readonly
Wikilink namespace,
Category
for[Category:Cities]
, empty string (notnil
!) for just[Cities]
. -
#refinement ⇒ Object
readonly
Refinement part of link name.
-
#topic ⇒ Object
readonly
Topic part of link name.
Attributes inherited from Link
Attributes inherited from Compound
Attributes inherited from Node
Instance Method Summary collapse
-
#initialize ⇒ Wikilink
constructor
A new instance of Wikilink.
Methods included from Linkable
Methods inherited from Compound
Methods inherited from Node
#==, #children, coder, def_readers, #index, #inspect, #next_siblings, #prev_siblings, #siblings, #text, #text_, #to_s, #to_tree
Methods included from Navigation::Sections::Node
Methods included from Navigation::Shortcuts::Node
#bold?, #categories, #external_links, #heading?, #headings, #images, #infobox, #infoboxes, #italic?, #lists, #paragraphs, #tables, #templates, #wikilinks
Methods included from Navigation::Lookup::Node
#_lookup, #_lookup_children, #_lookup_next_siblings, #_lookup_parents, #_lookup_prev_siblings, #_lookup_siblings, #_matches?, #has_parent?, #lookup, #lookup_children, #lookup_next_siblings, #lookup_parents, #lookup_prev_siblings, #lookup_siblings, #matches?
Constructor Details
#initialize ⇒ Wikilink
Returns a new instance of Wikilink.
14 15 16 17 |
# File 'lib/infoboxer/tree/wikilink.rb', line 14 def initialize(*) super parse_link! end |
Instance Attribute Details
#anchor ⇒ Object (readonly)
Anchor part of hyperlink, like History
for [Argentina#History]
27 28 29 |
# File 'lib/infoboxer/tree/wikilink.rb', line 27 def anchor @anchor end |
#name ⇒ Object (readonly)
"Clean" wikilink name, for ex., Cities
for [Category:Cities]
20 21 22 |
# File 'lib/infoboxer/tree/wikilink.rb', line 20 def name @name end |
#namespace ⇒ Object (readonly)
Wikilink namespace, Category
for [Category:Cities]
, empty
string (not nil
!) for just [Cities]
24 25 26 |
# File 'lib/infoboxer/tree/wikilink.rb', line 24 def namespace @namespace end |
#refinement ⇒ Object (readonly)
Refinement part of link name.
See #topic for explanation.
42 43 44 |
# File 'lib/infoboxer/tree/wikilink.rb', line 42 def refinement @refinement end |
#topic ⇒ Object (readonly)
Topic part of link name.
There's so-called "Pipe trick"
in wikilink markup, which defines that [Phoenix, Arizona]
link
has main part ("Phoenix") and refinement part ("Arizona"). So,
we are splitting it here in topic
and #refinement.
The same way, [Pipe (programming)]
has topic == 'Pipe'
and
refinement == 'programming'
37 38 39 |
# File 'lib/infoboxer/tree/wikilink.rb', line 37 def topic @topic end |