Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Better code syntax highlighting Details »»
Better code syntax highlighting
Version: 0.04a, by Sarteck Sarteck is offline
Developer Last Online: Jun 2020 Show Printable Version Email this Page

Category: BB Code Enhancements - Version: 4.x.x Rating:
Released: 07-24-2012 Last Update: 07-31-2012 Installs: 41
Uses Plugins
Additional Files  
No support by the author.

This Modification is meant more as an example than an actual modification, but will work fine as is.

vBulletin by default has three "code" BB Codes.

The [CODE] tag simply gives us monospaced text.

The [HTML] and [PHP] tags give us some highlighted code that's highlighted pretty much how our webserver software decides how to highlight it. For "serious" coding, that's often insufficient.

GeSHi provides much more accurate highlighting and in a vast number of different languages. It's relatively simple to add these languages to your own BB Codes for highlighting, too.

Attached is the latest version of the GeSHi files, 1.0.8.10. You may go to their website at any time and download newer releases, though the latest was released well over a year ago. (I had to repackage it as a ZIP file, because vB.org doesn't accept tar.gz files.)

Download and extract this file. Upload the geshi.php file and the geshi folder to your FORUMROOT/includes folder.

Download the XML product file and Import it as you would a regular Product through your Admin Control Panel. It will install a plugin that contains BB Code functions for the following languages:
  • PHP (as [PHPS])
  • JavaScript (as [JSS])
  • CSS (as [CSSS])
  • SQL (as [SQLS])
  • C++ (as [CPPS])
  • HTML (as [HTMLS])
  • Java (as [JAVAS])
  • Tcl (as [TCLS])
  • BASH (as [BASHS])
(If you're wondering, the "S" stands for "Source".)

By looking through those examples, you can see how to easily add other languages GeSHi handles as well (Lua for some of you game programmers, for example).



This has really helped me communicate code stuff withmy Admins for our forum a lot better than the default vBulletin stuff, and it's nice to have for the coders at my forum as well.



Updated (25.JUL.12) [0.02a]
Included install and uninstall scripts that INSERT or DELETE the above BB Codes to/from your database. WARNING! If you have a BB Code named the same as one of the above that you do NOT want deleted, this product will delete that BB Code from the database if you use the Uninstall script. Just wanted to make that clear.

Updated (01.AUG.12) [0.03a]
Product was previously Disabled by default AND (even after enabling product) the Plugin was disabled. Both are now enabled by default.

Updated (01.AUG.12) [0.04a]
Fixed an error from 0.03a that gave SQL errors when trying to update the product. >_>

Download Now

File Type: zip geshi.zip (1.05 MB, 345 views)
File Type: xml product-cb_geshi_bbcode.xml (8.5 KB, 248 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
3 благодарности(ей) от:
conchemimare, Dr@gon

Comments
  #2  
Old 07-25-2012, 09:21 AM
Sarteck's Avatar
Sarteck Sarteck is offline
 
Join Date: Mar 2008
Posts: 304
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'd also request that the Staff here consider using GeSHi for making stuff all prettified. X3 It's obviously not a necessity, but it'd be nice to have code highlighting for SQL, CSS, and JavaScript at least.
Reply With Quote
  #3  
Old 07-25-2012, 11:06 AM
Sarteck's Avatar
Sarteck Sarteck is offline
 
Join Date: Mar 2008
Posts: 304
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Updated to include Install/Uninstall scripts that will add (or delete) the BB Codes automatically for you. Now all you need to do is upload the files and import the XML.
Reply With Quote
  #4  
Old 08-01-2012, 06:46 AM
ryohnosuke's Avatar
ryohnosuke ryohnosuke is offline
 
Join Date: Nov 2010
Posts: 35
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

it's working? I'm only getting:

{PlaceHolder}

Saludos.
Reply With Quote
  #5  
Old 08-01-2012, 09:05 AM
Sarteck's Avatar
Sarteck Sarteck is offline
 
Join Date: Mar 2008
Posts: 304
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The product was previously disabled by default, and even after enabling the Product, the Plugin was disabled by default.

Both are now enabled by default in v0.03a, so you can download and over-write to fix, or you can simply enable both the Product and then Plugin.

My bad, oops. ^^;
Reply With Quote
  #6  
Old 08-01-2012, 03:50 PM
ryohnosuke's Avatar
ryohnosuke ryohnosuke is offline
 
Join Date: Nov 2010
Posts: 35
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I uninstalled it and when I want to install your fixed version:

Code:
Database error in vBulletin 4.2.0:

Invalid SQL:
INSERT INTO `vB_bbcode` (`bbcodetag`, `bbcodereplacement`, `bbcodeexample`, `bbcodeexplanation`, `twoparams`, `title`, `buttonimage`, `options`) VALUES
('PHPS', '{Place Holder}', '[PHPS]/** Sample **/ echo "Hello Shitty World";[/PHPS]', 'HIghlights PHP with the Geshi highlighter.', 0, 'PHP v2', '', 1),
('JSS', '{Place Holder}', '[jss]alert(''blah''+"\\n"+bleh);[/jss]', 'JavaScript Syntax Highlight', 0, 'JavaScript Source', '', 1),
('CSSS', '{Place Holder}', '[csss].thisclass {font-size:13px;}[/csss]', 'CSS Source Syntax Highlighting', 0, 'CSS Source', '', 1),
('CPPS', '{Place Holder}', '[CPPS]cout << "Enter number: ";[/CPPS]', 'Highlights C++ with the Geshi highlighter.', 0, 'C++ Source', '', 1),
('HTMLS', '{Placeholder}', '[HTMLS]<html><head><title>Bleh</title></head><body>Blah</body></html>[/HTMLS]', 'Highlights HTML Source with the GeSHi Highlighter.', 0, 'HTML Source', '', 1),
('JAVAS', '{PlaceHolder}', '[JAVAS]/*JavaCode*/[/JAVAS]', 'Highlights Java with the GeSHi highlighter.', 0, 'Java Source', '', 1),
('SQLS', '{PlaceHolder}', '[SQLS]insert into mytable (field1,field2) VALUES (1,4);[/SQLS]', 'Highlights MySQL with the GeSHi highlighter.', 0, 'MySQL Source', '', 1),
('TCLS', '{PlaceHolder}', '[TCLS]set token [http::geturl "http://www.clubbleach.org/forums/bwbots.php" -query $querystring][/TCLS]', 'Highlights Tcl with the GeSHi highlighter.', 0, 'Tcl Source', '', 1),
('BASHS', '{PlaceHolder}', '[BASHS]woogypid=`ps $(cat /usr/lib/eggdrop/pid.Woogy) | grep $(cat /usr/lib/eggdrop/pid.Woogy) 2> /dev/null | awk ''{print $1}''`[/BASHS]', 'For BASH environment syntax highlighting.', 0, 'BASH code', '', 1);;

MySQL Error   : Duplicate entry 'PHPS-0' for key 'uniquetag'
Error Number  : 1062
Request Date  : Wednesday, August 1st 2012 @ 11:48:40 AM
Error Date    : Wednesday, August 1st 2012 @ 11:48:40 AM
Script        : http://www.ryohnosuke.com/foros/admincp/plugin.php?do=productimport
Referrer      : http://www.ryohnosuke.com/foros/admincp/plugin.php?do=productadd
IP Address    : *********
Username      : ********
Classname     : vB_Database_MySQLi
MySQL Version : 5.1.63-cll
Reply With Quote
  #7  
Old 08-01-2012, 07:48 PM
Sarteck's Avatar
Sarteck Sarteck is offline
 
Join Date: Mar 2008
Posts: 304
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sorry, man. My bad for including install code where not necessary. (Thought I needed one for each version, apparently I only need it for the earliest version.)

Everything fixed in 0.04a.

Or... hopefully. XD That's what the "a" is there for, after all.
Reply With Quote
  #8  
Old 08-01-2012, 07:49 PM
Sarteck's Avatar
Sarteck Sarteck is offline
 
Join Date: Mar 2008
Posts: 304
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Also, En Taro Adun.
Reply With Quote
  #9  
Old 08-01-2012, 08:02 PM
ryohnosuke's Avatar
ryohnosuke ryohnosuke is offline
 
Join Date: Nov 2010
Posts: 35
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok it works! : D, how can I set up the number lines?

Saludos.
Reply With Quote
  #10  
Old 08-02-2012, 02:07 AM
Sarteck's Avatar
Sarteck Sarteck is offline
 
Join Date: Mar 2008
Posts: 304
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

There's a line,

//$geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS);// (Disabled Line Numbers)

Uncomment that.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 06:30 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06812 seconds
  • Memory Usage 2,319KB
  • Queries Executed 24 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (10)post_thanks_box
  • (2)post_thanks_box_bit
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (2)postbit_attachment
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete