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

RSS/Atom Support

You can now follow this news feed at http://www.funtoo.org/news/atom.xml .
10 February 2015 by Drobbins
Drobbins

Creating a Friendly Funtoo Culture

This news item details some recent steps that have been taken to help ensure that Funtoo is a friendly and welcoming place for our users.
2 February 2015 by Drobbins
Mgorny

CPU FLAGS X86

CPU_FLAGS_X86 are being introduced to group together USE flags managing CPU instruction sets.
31 January 2015 by Mgorny
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