links

package
v2.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 1, 2021 License: Apache-2.0 Imports: 5 Imported by: 1

README

= Link
This module features a datatype used all across the project — link! It is not the type of link you see in a mycomarkup document, it is an abstraction that ties them together.

Basically, a link can be:
* **Created.** To be created, these things are needed:
** //An address// the link is pointing to.
** //An address// from which the link is pointing from. Usually, current hypha name, but who knows how this library shall be used.
** //A display text// that can be empty.
* **Marked as existing.** All links are considered as nonexistent until marked as existing.
* **Shown.** A renderer uses some getter methods on the link and does what it has to.

Documentation

Overview

Package links provides a data type for links.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Link struct {
	// contains filtered or unexported fields
}

Link is an abstraction for universal representation of links, be they links in mycomarkup links or whatever.

func From

func From(srcAddress, srcDisplay, srcHypha string) *Link

From makes a link from the given source address and display text on the given hypha.

func (*Link) Classes

func (link *Link) Classes() (classes string)

Classes returns CSS class string for given link. It is not wrapped in any quotes, wrap yourself.

func (*Link) Display

func (link *Link) Display() string

Display returns the display text of the given link. It is not escaped, escape by yourself.

func (*Link) Href

func (link *Link) Href() string

Href returns escaped content for the href attribute for hyperlink. You should always use it.

func (*Link) ImgSrc

func (link *Link) ImgSrc() string

ImgSrc returns escaped content for src attribute of img tag. Used with `img{}`.

func (link *Link) IsBlueLink() bool

IsBlueLink is true if the link should be blue, not red. Red links are links to hyphae that do not exist, all other links are blue.

func (*Link) MarkAsExisting

func (link *Link) MarkAsExisting() *Link

MarkAsExisting notes that the hypha does exist.

func (*Link) OfKind

func (link *Link) OfKind(kind LinkType) bool

OfKind returns if the given link is of the given kind.

func (*Link) TargetHypha

func (link *Link) TargetHypha() string

TargetHypha returns the canonical name of the target hypha. Use for hypha links.

type LinkType

type LinkType int

LinkType tells what type the given link is.

const (
	// LinkLocalRoot is a link like "/list", "/user-list", etc.
	LinkLocalRoot LinkType = iota
	// LinkLocalHypha is a link like "test", "../test", etc.
	LinkLocalHypha
	// LinkExternal is an external link with specified protocol.
	LinkExternal
	// LinkInterwiki is currently left unused. In the future it will be used for interwiki links.
	LinkInterwiki
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL