linkorb/interlink

Interlink parser

v1.0.0 2015-02-28 16:44 UTC

README

Interlink let's you define custom link handlers for wiki links.

Some example:

Translate [[wikipedia:Hello world]] into:

<a href="http://www.wikipedia.org/Hello_world" target="_blank">
    Hello world
</a>

Translate [[wikihow:Grow an Orange Tree]] into:

<a href="http://www.wikihow.com/Grow-an-Orange-Tree">
    Grow an Orange Tree
</a>

Translate [[mozilla-bugzilla:441207]] into:

<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=441207">
    Printing selection causes blank page with header/footer only
</a>

Translate [[mytaskdb:14]] into:

<a href="https://intranet.example.web/task/14">
    Redesign widgets to optimize alignment with KPI's
</a>

Using Interlink, you define Handlers for link prefixes (Like above: 'wikihow', or 'mytaskdb'). The handler can then automatically translate the link into a working bit of HTML using one of the available Renderers.

You can even create your own Renderer if the provided ones are not sufficient.

You can also pass a LabelResolver to your handler to translate the code or id into a userfriendly text. For example, look up a task title in the database using PDO, based on the id in the link. Or make a REST API call to a webservice to convert a bugid into a readable summary.

How to use Interlink in your application

Simply add the following to your require or require-dev section in your composer.json and run composer update:

"require": {
  "linkorb/interlink": "~1.0"
}

Examples:

Please refer to the examples/ directory for some simple and advanced examples.

License

MIT (see LICENSE.md)

Brought to you by the LinkORB Engineering team

687474703a2f2f7777772e6c696e6b6f72622e636f6d2f642f6d6574612f74696572312f696d616765732f6c696e6b6f7262656e67696e656572696e672d6c6f676f2e706e67
Check out our other projects at linkorb.com/engineering.

Btw, we're hiring!