WP-Prettify - это плагин для Wordpress, который предназначен для подсветки програмного кода языков программирования на web-страницах. Подсветка выполняется в браузере пользователя при помощи скрипта JavaScript. Плагин основан на движке google-code-prettify и способен подсвечивать следующие языки программирования: C/С++, C#, Java, Python, Bash, SQL, CSS, Javascript, Makefiles, Ruby, PHP, Awk, Perl. Языки HTML, XML также поддерживаются, однако символы < необходимо заменять на &lt;. В отличие от google-code-prettify в данный плагин добавлена подсветка номеров строк и возможность переключать между форматированным кодом и исходниками - это очень удобно для копирования текста.

Установка

Для установки плагина, скопируйте его в директорию /wp-content/plugins, затем
активируйте из админ панели.

Использование

Код который необходимо подсветить нужно заключить в тэги pre с классом prettyprint.
Например:

<pre class="prettyprint">
   // далее код который нужно подсвечивать
   function hello(){
      alert('hello world');
   }
</pre>



Примеры

JavaScript:

/**
 * Get coords of scroll bars
 * @return {Array} - {coord horizontal, coord vertical}
 */
function getScrollXY() {
	var scrOfX = 0, scrOfY = 0, b = document.body, de = document.documentElement;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( b && ( b.scrollLeft || b.scrollTop ) ) {
		//DOM compliant
		scrOfY = b.scrollTop;
		scrOfX = b.scrollLeft;
	} else if( de && ( de.scrollLeft || de.scrollTop ) ) {
		//IE6 Strict
		scrOfY = de.scrollTop;
		scrOfX = de.scrollLeft;
	}
	return [ scrOfX, scrOfY ];
}

Языки C/C++

// Комментарий
#include 
#include 
using namespace std;

class Pet {
  string pname;
public:
  Pet(const string& name) : pname(name) {}
  virtual string name() const { return pname; }
  virtual string description() const {
    return “This is ” + pname;
  }
};

Ruby

unless Enumerable.method_defined?(:map)   # Ruby 1.4.6
  module Enumerable
    alias map collect
  end
end

unless File.respond_to?(:read)   # Ruby 1.6
  def File.read(fname)
    open(fname) {|f|
      return f.read
    }
  end
end

Python


def split(fromfile, todir, chunksize=chunksize):
    if not os.path.exists(todir):                  # caller handles errors
        os.mkdir(todir)                            # make dir, read/write parts
    else:
        for fname in os.listdir(todir):            # delete any existing files
            os.remove(os.path.join(todir, fname))
    partnum = 0
    input = open(fromfile, 'rb')                   # use binary mode on Windows
    while 1:                                       # eof=empty string from read
        chunk = input.read(chunksize)              # get next part <= chunksize
        if not chunk: break
        partnum  = partnum+1
        filename = os.path.join(todir, ('part%04d' % partnum))
        fileobj  = open(filename, 'wb')
        fileobj.write(chunk)
        fileobj.close()                            # or simply open().write( )
    input.close( )
    assert partnum <= 9999                         # join sort fails if 5 digits
    return partnum

Java

import java.util.StringTokenizer;

class TokenTester {

	public static void main(String[] arguments) {
		StringTokenizer st1, st2;

		String quote1 = "VIZY 3 -1/16";
		st1 = new StringTokenizer(quote1);
		System.out.println("Token 1: " + st1.nextToken());
		System.out.println("Token 2: " + st1.nextToken());
		System.out.println("Token 3: " + st1.nextToken());

		String quote2 = "NPLI@9 27/32@3/32";
		st2 = new StringTokenizer(quote2, "@");
		System.out.println("\nToken 1: " + st2.nextToken());
		System.out.println("Token 2: " + st2.nextToken());
		System.out.println("Token 3: " + st2.nextToken());
	}
}

HTML

<html>
<title>HTML text</title>
<body>
	<div id="container">
		<h2>Sample page</h2>
		<form>
			<input type="text" name="" value="" />
			<input type="submit" id="test" name="" value="Submit" />
		</form>
	</div>
</body>
</html>



Загрузить

Текущая версия - 0.2: Загрузить плагин (23.6 Kb)

Добавить в закладки:

Оставить комментарий