Difference between pages "ConsoleOutput MediaWiki Extension" and "Package:Rutorrent"

(Difference between pages)
 
m
 
Line 1: Line 1:
The ConsoleOutput MediaWiki extension was created by Daniel Robbins to provide highlighting of user input for interactive terminal session blocks. To use it, surround user input with  <tt>&lt;console&gt;</tt> opening and closing tags. This tag works similarly to a <tt>&lt;pre&gt;</tt> tag, and preserves output formatting in the quoted text.
+
{{Ebuild
 +
|Summary=ruTorrent is a front-end for the popular Bittorrent client rTorrent
 +
|CatPkg=www-apps/rutorrent
 +
|Homepage=http://code.google.com/p/rutorrent/
 +
}}
  
To highlight text typed by a user, rather than program output, put a <tt>##i##</tt> input code immediately before user input on each line. This will cause all text from the <tt>##i##</tt> to the end of the line to be highlighted in orange to offset it from the prompt and other other program output.
+
rutorrent is a front end to {{package|net-p2p/rtorrent}} and is designed to look like utorrent =D
  
=== Console Markup ===
+
{{console|body=###i## emerge www-apps/rutorrent}}
  
The folowing elements are available for marking up text within <tt>&lt;console&gt;</tt> elements:
+
===prereqs===
 +
*Install your web server {{package|www-servers/nginx}}, and get {{package|dev-lang/php}} with the fpm use flag running first.
 +
*you must turn on scgi_pass in the {{package|net-p2p/rtorrent}} config.
  
* {{c|##i##}} - Tag all following text on this line as user input.
+
===configuration===
* {{c|##b##}} - Highlight the rest of the line in bold.
+
==== optional security lock down stuff ====
* {{c|##b##text here##!b##}} - Highlight the text between both markers in bold.
+
{{warning|possibly broken, untested}}
* {{c|##i##text here##!i##}} - Highlight the text between both markers as user input.
+
* {{c|##g##}} - Green
+
* {{c|##y##}} - Yellow
+
* {{c|##bl##}} - Blue
+
* {{c|##r##}} - Red
+
  
=== Examples ===
+
first figure out what php you're using
Here are a few examples of the ConsoleOutput extension. First this is how you might typically display {{c|ls}} output, with a particular directory highlighted:
+
  
<console>
+
{{console|body=###i##eselect php list fpm
www@www-smw ~/public_html $ ##i##ls
+
[1]  php5.5 *
COPYING  LocalSettings.php    api.php  ##b##extensions##!b##  index.php   maintenance          redirect.php    skins              thumb_handler.php5
+
###i## eselect php list cgi
CREDITS  README                api.php5  images        index.php5  mw-config            redirect.php5  tests              wiki.phtml
+
[1]   php5.5 *
FAQ      RELEASE-NOTES-1.19    bin      img_auth.php   languages  opensearch_desc.php  redirect.phtml  thumb.php
+
###i## eselect php list apache2
HISTORY  StartProfiler.sample  cache    img_auth.php5  load.php   opensearch_desc.php5  resources      thumb.php5
+
[1]  php5.5 *
INSTALL  UPGRADE              docs      includes      load.php5   profileinfo.php      serialized      thumb_handler.php
+
###i## eselect php list cli
www@www-smw ~/public_html $ ##i##cd extensions/
+
[1]  php5.5 *
</console>
+
}}
  
And here is how you might display a more detailed example of console output, using colors:
+
edit the respective php.ini
  
{{console|body=
+
Edit the open_basedir in
# ##i##bluetoothctl
+
/etc/php/fpm-php5.5/php.ini
[##g##NEW##!g##] Controller 00:02:72:C9:62:65 antec [default]
+
{{file|name=/etc/php/fpm-php5.5/php.ini|lang=|desc=php basedir|body=
##bl##[bluetooth]##!bl### ##i##power on
+
open_basedir = /var/www/localhost/htdocs/rutorrent/conf:/var/www/localhost/htdocs/rutorrent/php:/var/www/localhost/htdocs/rutorrent/
Changing power on succeeded
+
##bl##[bluetooth]##!bl### ##i##agent on
+
Agent registered
+
##bl##[bluetooth]##!bl### ##i##scan on
+
Discovery started
+
##bl##[bluetooth]##!bl### ##i##devices
+
Device 00:1F:20:3D:1E:75 Logitech K760
+
##bl##[bluetooth]##!bl### ##i##pair 00:1F:20:3D:1E:75
+
Attempting to pair with 00:1F:20:3D:1E:75
+
[##y##CHG##!y##] Device 00:1F:20:3D:1E:75 Connected: yes
+
##r##[agent]##!r## Passkey: 454358
+
##r##[agent]##!r## Passkey: ##i##4##!i##54358
+
##r##[agent]##!r## Passkey: ##i##45##!i##4358
+
##r##[agent]##!r## Passkey: ##i##454##!i##358
+
##r##[agent]##!r## Passkey: ##i##4543##!i##58
+
##r##[agent]##!r## Passkey: ##i##45435##!i##8
+
##r##[agent]##!r## Passkey: ##i##454358##!i##
+
[##y##CHG##!y##] Device 00:1F:20:3D:1E:75 Paired: yes
+
Pairing successful
+
[##y##CHG##!y##] Device 00:1F:20:3D:1E:75 Connected: no
+
##bl##[bluetooth]##!bl### ##i##connect 00:1F:20:3D:1E:75
+
Attempting to connect to 00:1F:20:3D:1E:75
+
[##y##CHG##!y##] Device 00:1F:20:3D:1E:75 Connected: yes
+
Connection successful
+
##bl##[bluetooth]##!bl### ##i##quit
+
[##r##DEL##!r##] Controller 00:02:72:C9:62:65 antec [default]
+
#
+
 
}}
 
}}
  
To install, make the following modifications to your skin:
+
=== nginx config===
 +
{{file|name=/etc/nginx/sites-available/localhost|lang=|desc=nginx configuration|body=
 +
server {
 +
listen 127.0.0.1:80;
 +
server_name localhost;
 +
access_log /var/log/nginx/localhost.access_log main;
 +
error_log /var/log/nginx/localhost.error_log info;
 +
root /var/www/localhost/htdocs;
 +
index index.php index.cgi index.htm index.html;
 +
autoindex on;
  
<syntaxhighlight lang="css">
+
         location ~ \.php$ {
--- mediawiki-1.19.1/skins/vector/screen.css    2012-06-13 18:22:39.000000000 +0000
+
                fastcgi_pass 127.0.0.1:9000;
+++ public_html/skins/vector/screen.css 2012-08-27 04:34:47.507912892 +0000
+
include fastcgi.conf;
@@ -683,10 +683,47 @@
+
                #fastcgi_pass unix:/var/run/php5-fpm.sock;
         list-style-image: url(images/bullet-icon.png);
+
        }
}
+
+
-pre {
+
-      line-height: 1.3em;
+
+/* ConsoleOutput.php start */
+
+
+
+.shell, pre, code, tt, div.mw-geshi {
+
+        font-size: 12px;
+
+        font-family: Consolas, 'andale mono','lucida console', monospace;
+
+}
+
+
+
+.shell, pre, div.mw-geshi {
+
+        background-color: #F8F8FF;
+
+        line-height: 15px;
+
+        padding: 10px;
+
+        border: none;
+
+        border-top: 2px solid #C6C9E0;
+
+        border-bottom: 2px solid #C6C9E0;
+
+        margin: 0;
+
+        overflow-x: auto;
+
+        overflow-y: hidden;
+
+}
+
+
+
+.code {
+
+        color: #666;
+
+}
+
+
+
+.code_input {
+
+        color: #000;
+
}
+
+
+.code_red {
+
+        color: #f00;
+
+}
+
+
+
+.code_blue {
+
+        color: #00f;
+
+}
+
+
+
+.shell_green {
+
+        color: #080;
+
+}
+
+
+
+/* ConsoleOutput.php end */
+
+
+
/* Site Notice (includes notices from CentralNotice extension) */
+
#siteNotice {
+
        font-size: 0.8em;
+
</syntaxhighlight>
+
  
Then install the following code in your <tt>extensions</tt> directory and include it with a <tt>require_once( "$IP/extensions/ConsoleOutput.php" );</tt> in <tt>LocalSettings.php</tt>:
+
          location /rutorrent {
 
+
              include scgi_params;
<syntaxhighlight lang="php">
+
              scgi_pass localhost:5000;
<?php
+
          }
$wgExtensionCredits['validextensionclass'][] = array(
+
    'name' => 'ConsoleOutput',
+
    'author' => 'Daniel Robbins',
+
    'url' => 'https://github.com/danielrobbins/mediawiki-consoleoutput',
+
    'description' => 'This extension allows you to display colorized console output in mediawiki'
+
);
+
 
+
if ( defined( 'MW_SUPPORTS_PARSERFIRSTCALLINIT' ) ) {
+
        $wgHooks['ParserFirstCallInit'][] = 'consoleOutputSetup';
+
} else {
+
        $wgExtensionFunctions[] = 'consoleOutputSetup';
+
 
}
 
}
 +
}}
  
function consoleOutputSetup( $data )
+
restart nginx
{
+
{{console|body=###i## /etc/init.d/nginx restart}}
    global $wgParser;
+
    $wgParser->setHook('console', 'consoleRender');
+
    return true;
+
}
+
  
function consoleRender($input, $args, $parser)
+
point your browser to
{
+
    if (count($args))
+
    {
+
        return "<strong class='error'>" .
+
              "ConsoleOutput: arguments not supported" .
+
              "</strong>";
+
    }
+
  
    # Display < and > as literals, so escape them:
+
http://127.0.0.1/rutorrent
  
    $input = preg_replace('/>/','&gt;', $input);
+
or
    $input = preg_replace('/</','&lt;', $input);
+
  
    # http://www.perlmonks.org/?node_id=518444
+
http://localhost/rutorrent
    # See "Matching a pattern that doesn't include another pattern:
+
 
+
    $input = preg_replace('/##i##((?:(?!##!i##).)*)##!i##/','<span class="code_input">$1</span>', $input);
+
    $input = preg_replace('/##i##(.*)/','<span class="code_input">$1</span>', $input);
+
    $input = preg_replace('/##b##((?:(?!##!b##).)*)##!b##/','<b>$1</b>', $input);
+
    $input = preg_replace('/##b##(.*)/','<b>$1</b>', $input);
+
    return "<pre class=\"code\">" . $input . "&lt;/pre>";
+
}
+
?>
+
</syntaxhighlight>
+
  
[[Category:MediaWiki Hacks]]
+
{{PageNeedsUpdates}}
 +
{{EbuildFooter}}

Revision as of 06:51, March 8, 2015

www-apps/rutorrent


Source Repository:Gentoo Portage Tree
Homepage

Summary: ruTorrent is a front-end for the popular Bittorrent client rTorrent


News

Drobbins

Pre-built kernels!

Funtoo stage3's are now starting to offer pre-built kernels for ease of install. read more....
12 May 2015 by Drobbins
Drobbins

Better Experiences: Ego and Vim

Info on Funtoo's new personality tool called 'ego', and user-focused updates to vim's defaults.
27 April 2015 by Drobbins
Drobbins

How We're Keeping You At the Center of the Funtoo Universe

Read about recent developments that keep you, our users, at the forefront of our focus as Funtoo moves forward.
10 April 2015 by Drobbins
View More News...

Rutorrent

Tip

This is a wiki page. To edit it, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.


rutorrent is a front end to Rtorrent and is designed to look like utorrent =D

# emerge www-apps/rutorrent


prereqs

  • Install your web server Nginx, and get PHP with the fpm use flag running first.
  • you must turn on scgi_pass in the Rtorrent config.

configuration

optional security lock down stuff

Warning

possibly broken, untested

first figure out what php you're using

#eselect php list fpm
[1]   php5.5 *
# eselect php list cgi
[1]   php5.5 *
# eselect php list apache2
[1]   php5.5 *
# eselect php list cli
[1]   php5.5 *


edit the respective php.ini

Edit the open_basedir in /etc/php/fpm-php5.5/php.ini

/etc/php/fpm-php5.5/php.ini - php basedir
open_basedir = /var/www/localhost/htdocs/rutorrent/conf:/var/www/localhost/htdocs/rutorrent/php:/var/www/localhost/htdocs/rutorrent/

nginx config

/etc/nginx/sites-available/localhost - nginx configuration
server {
	listen 127.0.0.1:80;
	server_name localhost;
	access_log /var/log/nginx/localhost.access_log main;
	error_log /var/log/nginx/localhost.error_log info;
	root /var/www/localhost/htdocs;
	index index.php index.cgi index.htm index.html;
	autoindex on;

        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
		include fastcgi.conf;
                #fastcgi_pass unix:/var/run/php5-fpm.sock;
        }

           location /rutorrent {
               include scgi_params;
               scgi_pass localhost:5000;
           }
}

restart nginx

# /etc/init.d/nginx restart


point your browser to

http://127.0.0.1/rutorrent

or

http://localhost/rutorrent