This is an old revision of the document!
Table of Contents
SocialMark Plugin
Compatible with DokuWiki
No compatibility info given!
This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.
This plugin add some link to “social-bookmark” a page.
Syntax
Simply write {{socialmark}} where you want links appear.
Example
You can see it in action here : http://www.wikistuce.info/doku.php/php/creer_une_shoutbox (end of page)
Installation
With Plugin Manager: http://dokuplugins.idotech.info/socialmark.zip
Or manually: Download and unzip the plugin_manager archive then put folder in you're 'lib/plugins/' directory.
Source
(if plugin_manager URL does not work)
- lib/plugins/socialmark/syntax.php
<?php if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/'); if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); require_once(DOKU_PLUGIN.'syntax.php'); /** * All DokuWiki plugins to extend the parser/rendering mechanism * need to inherit from this class */ class syntax_plugin_socialmark extends DokuWiki_Syntax_Plugin { /** * return some info */ function getInfo(){ return array( 'author' => 'iDo', 'email' => 'iDo@woow-fr.com', 'date' => '21/03/2006', 'name' => 'Social Mark Plugin', 'desc' => 'Add some link to social bookmarking page. syntaxe : {{socialmark}}', 'url' => 'http://www.dokuwiki.org/plugin:socialmark', ); } /** * What kind of syntax are we? */ function getType(){ return 'substition'; } /** * Where to sort in? */ function getSort(){ return 108; } /** * Connect pattern to lexer */ function connectTo($mode) { $this->Lexer->addSpecialPattern("{{socialmark}}",$mode,'plugin_socialmark'); } /** * Handle the match */ function handle($match, $state, $pos, &$handler){ return true; } /** * Create output */ function render($mode, &$renderer, $data) { if($mode == 'xhtml'){ $renderer->doc .= '<div>'; $renderer->doc .= $this->_socialmark(); $renderer->doc .= '</div>'; return true; } return false; } function _socialmark() { global $conf; $r='<ul id="socialmark">'; $g=@file(DOKU_PLUGIN.'socialmark/list.txt'); foreach ($g as $v) { if ($v{0}=='#') continue; /*comments line starts by #*/ $v=explode('|',$v,2); if (@$v[1]) $h=$v[1]; else { $h=parse_url($v[0]); $h=$h['host']; } $r.='<li><a href="'.$v[0].$this->_getfullURL().'" '.(($conf['target']['extern']!='')?'target="'.$conf['target']['extern'].'"':'').'>'.$h."</a></li>\n"; } return $r.'</ul>'; } function _getfullURL() { return 'http'.(($_SERVER['HTTPS']=='on')?'s':'').'://'.$_SERVER['HTTP_HOST'].(($_SERVER['SERVER_PORT']!='80')?':'.$_SERVER['SERVER_PORT']:'').$_SERVER['REQUEST_URI']; } } //Setup VIM: ex: et ts=4 enc=utf-8 : ?>
- lib/plugins/socialmark/list.txt
#Start a line whit a sharp to put it in comment #Syntaxe for URL is : #URL|link text #ex : #http://blogmarks.net/my/new.php?mini=1&simple=1&url=|Blogmarks it ! #if link text is not specified, the host name is used. #Note : #Always put the URL param at the end of the url http://www.connectedy.com/add-link.php?remote=1&url=|Connectedy it ! http://blogmarks.net/my/new.php?mini=1&simple=1&url=|Blogmark it ! http://www.netvouz.com/action/submitBookmark?url=|Netvouz it ! http://scuttle.org/bookmarks.php/?action=add&address=|Scuttle it ! http://www.blinklist.com/index.php?Action=Blink/addblink.php&Url=|Blinklist it ! http://www.spurl.net/spurl.php?v=3&url=|Spurl it ! http://del.icio.us/post?v=4;url=|Del.icio.us it ! http://www.connotea.org/addpopup?continue=confirm&uri=|Connotea it ! http://www.linkroll.com/index.php?action=insertLink&url=|Linkroll it ! http://www.openbm.de/bm.php?outside=1&link=|Openbm it ! http://simpy.com/simpy/LinkAdd.do?href=|Simpy it ! http://feedmelinks.com/categorize?from=toolbar&op=submit&url=|FeedmeLinks it !
Customize
links
You can add, delete and modify links :
just edit 'list.txt' in 'lib/plugins/socialmark/'
Comments line start by #
URL and textlink are separated by |
style
Links are displayed in an <ul>.
You can customize style by changing css:
#socialmark { /*ul element */ } #socialmark li { } #socialmark li a { }
Comments
I don't see the link between this plugin and the “Social Bookmarking”. With the “Social Bookmarking”, you have tags that refers to a URL. With socialmark, there's no tags or it doesn't work for me.
Need help !