İPUCU

Python Artificial Intelligence’da en çok kullanılan dildir ve gerekli dökümanların paylaşım alanlar burada paylaşılmaktadır.

Seçenekler

[Python] Forum İçin Code Highlighter - Kodunuzu Renklendirin //Easyly

BufGix - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
Phobos/Space
Mesajlar:
1.023
Konular:
74
Teşekkür (Etti):
314
Teşekkür (Aldı):
446
Ticaret:
(0) %
19-06-2018 19:08
#1
[Python] Forum İçin Code Highlighter - Kodunuzu Renklendirin //Easyly
Forumda beni rahatsiz eden bir cok sorun var. Bu sorunlardan biri de '{code}{/code}' taglari icine aldigimiz kodlarin renklendirilememesi. Hâl böyle olunca okunabilirliği artirmak açısından THT için küçük bir script yazayım dedim.


Edit: Yakin zamanda cok fazla gelistiremiyecegim icin yeni versyonunu yazdim. (20 Haziran 2018 - 22:08)

----- Versyon 0.2 -----
[>] Dil desteği oldukça iyilestirildi su an 424 tane Lexer bulunmakta
[>] Programi biraz susledim (renklendirme felan)
C:
Kod:
#include <stdio.h>
int main()
{
    int number;

    printf("Enter an integer: ");
    scanf("%d", &number);

    // True if the number is perfectly divisible by 2
 if(number % 2 == 0)
        printf("%d is even.", number);
    else
        printf("%d is odd.", number);

    return 0;
}
C#:
Kod:
// A Hello World! program in C#.
using System;
namespace HelloWorld
{
    class Hello 
    {
        static v-oid Main() 
        {
            Console.WriteLine("Hello World!");

            // Keep the console window open in debug mode.
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
        }
    }
}
Java:
Kod:
import java.util.Scanner;
import java.io.File;
import java.io.IOException;

public class ReadAndPrintScores
{
    public static voi-d main(String[] args)
    { try
	{   Scanner s = new Scanner( new File("scores.dat") );
	    while( s.hasNextInt() )
	    {	System.out.println( s.nextInt() );
	    }
	}
	catch(IOException e)
	{	System.out.println( e );
	}
    }
}
Kullanabileceginiz Lexerlar:
Kod:
                                           
ABAP                                                                                
APL                                                                                  
ABNF                                                                                 
ActionScript 3                                                                      
ActionScript                                                                         
Ada
ADL
Agda
Aheui
Alloy
AmbientTalk
Ampl
HTML + Angular2
Angular2
ANTLR With ActionScript Target
ANTLR With C# Target
ANTLR With CPP Target
ANTLR With Java Target
ANTLR
ANTLR With ObjectiveC Target
ANTLR With Perl Target
ANTLR With Python Target
ANTLR With Ruby Target
ApacheConf
AppleScript
Arduino
AspectJ
Asymptote
AutoIt
autohotkey
Awk
BBCode
BC
BST
Base Makefile
Bash
Bash Session
Batchfile
Befunge
BibTeX
BlitzBasic
BlitzMax
BNF
Boo
Boogie
Brainfuck
Bro
BUGS
CAmkES
C
CMake
c-objdump
CPSA
aspx-cs
C#
ca65 assembler
cADL
CapDL
Cap'n Proto
CBM BASIC V2
Ceylon
CFEngine3
ChaiScript
Chapel
HTML+Cheetah
JavaScript+Cheetah
Cheetah
XML+Cheetah
Cirru
Clay
Clean
Clojure
ClojureScript
COBOLFree
COBOL
CoffeeScript
Coldfusion CFC
Coldfusion HTML
cfstatement
Common Lisp
Component Pascal
Coq
C++
cpp-objdump
Crmsh
Croc
Cryptol
Crystal
Csound ********
Csound Orchestra
Csound Score
CSS+Django/Jinja
CSS+Ruby
CSS+Genshi Text
CSS
CSS+PHP
CSS+Smarty
CUDA
Cypher
Cython
D
d-objdump
Darcs Patch
Dart
Debian Control file
Delphi
dg
Diff
Django/Jinja
Docker
DTD
Duel
Dylan session
Dylan
DylanLID
ECL
eC
Earl Grey
Easytrieve
EBNF
Eiffel
Elixir iex session
Elixir
Elm
EmacsLisp
ERB
Erlang
Erlang erl session
HTML+Evoque
Evoque
XML+Evoque
Ezhil
FSharp
Factor
Fancy
Fantom
Felix
Fish
Flatline
Forth
FortranFixed
Fortran
FoxPro
GAP
GLSL
GAS
Genshi
Genshi Text
Gettext Catalog
Gherkin
Gnuplot
Go
Golo
GoodData-CL
Gosu
Gosu Template
Groff
Groovy
Haml
HTML+Handlebars
Handlebars
Haskell
Haxe
Hexdump
HSAIL
HTML+Django/Jinja
HTML+Genshi
HTML
HTML+PHP
HTML+Smarty
HTTP
Hxml
Hy
Hybris
IDL
Idris
Igor
Inform 6
Inform 6 template
Inform 7
INI
Io
Ioke
IRC logs
Isabelle
J
JAGS
Jasmin
Java
JavaScript+Django/Jinja
JavaScript+Ruby
JavaScript+Genshi Text
JavaScript
JavaScript+PHP
JavaScript+Smarty
JCL
JSGF
JSONBareObject
JSON-LD
JSON
Java Server Page
Julia console
Julia
Juttle
Kal
Kconfig
Koka
Kotlin
LSL
CSS+Lasso
HTML+Lasso
JavaScript+Lasso
Lasso
XML+Lasso
Lean
LessCss
Lighttpd configuration file
Limbo
liquid
Literate Agda
Literate Cryptol
Literate Haskell
Literate Idris
LiveScript
LLVM
Logos
Logtalk
Lua
MOOCode
MSDOS Session
Makefile
CSS+Mako
HTML+Mako
JavaScript+Mako
Mako
XML+Mako
MAQL
markdown
Mask
Mason
Mathematica
Matlab
Matlab session
MiniD
Modelica
Modula-2
MoinMoin/Trac Wiki markup
Monkey
Monte
MoonScript
CSS+mozpreproc
mozhashpreproc
Javascript+mozpreproc
mozpercentpreproc
XUL+mozpreproc
MQL
Mscgen
MuPAD
MXML
MySQL
CSS+Myghty
HTML+Myghty
JavaScript+Myghty
Myghty
XML+Myghty
NCL
NSIS
NASM
objdump-nasm
Nemerle
nesC
NewLisp
Newspeak
Nginx configuration file
Nimrod
Nit
Nix
NuSMV
NumPy
objdump
Objective-C
Objective-C++
Objective-J
OCaml
Octave
ODIN
Ooc
Opa
OpenEdge ABL
PacmanConf
Pan
ParaSail
Pawn
Perl6
Perl
PHP
Pig
Pike
PkgConfig
PL/pgSQL
PostScript
PostgreSQL console (psql)
PostgreSQL SQL dialect
POVRay
PowerShell
PowerShell Session
Praat
Prolog
Properties
Protocol Buffer
Pug
Puppet
PyPy Log
Python 3
Python 3.0 Traceback
Python console session
Python
Python Traceback
QBasic
QVTO
QML
RConsole
Relax-NG Compact
RPMSpec
Racket
Ragel in C Host
Ragel in CPP Host
Ragel in D Host
Embedded Ragel
Ragel in Java Host
Ragel
Ragel in Objective C Host
Ragel in Ruby Host
Raw token data
Rd
REBOL
Red
Redcode
reg
ResourceBundle
Rexx
RHTML
Roboconf Graph
Roboconf Instances
RobotFramework
RQL
RSL
reStructuredText
TrafficScript
Ruby irb session
Ruby
Rust
SAS
S
Standard ML
Sass
Scala
Scaml
Scheme
Scilab
SCSS
Shen
Silver
Slim
Smali
Smalltalk
Smarty
Snobol
Snowball
SourcePawn
Debian Sourcelist
SPARQL
SQL
sqlite3con
SquidConf
Scalate Server Page
Stan
Stata
SuperCollider
Swift
SWIG
systemverilog
TAP
TADS 3
TASM
Tcl
Tcsh
Tcsh Session
Tea
Termcap
Terminfo
Terraform
TeX
Text only
Thrift
Todotxt
Transact-SQL
Treetop
Turtle
HTML+Twig
Twig
TypeScript
TypoScriptCssData
TypoScriptHtmlData
TypoScript
UrbiScript
VCL
VCLSnippets
VCTreeStatus
VGL
Vala
aspx-vb
VB.net
HTML+Velocity
Velocity
XML+Velocity
verilog
vhdl
VimL
WDiff
Whiley
X10
XQuery
XML+Django/Jinja
XML+Ruby
XML
XML+PHP
XML+Smarty
XSLT
Xtend
xtlang
YAML+Jinja
YAML
Zephir
Scriptin altında neler dönüyor?

Aslında pek birsey dönmüyor. Ilk once config.ini isimli ayar dosyasindan gerekli bilgileri cekiyor. Daha sonra kodlarinizi belirtiginiz input dosyadan cekiyor. pygments ile kodu forumumuz icin uygun olan BBCode formatina çevirerek belirtiginiz output dosyasina yaziyor.

Nasıl kullanacaksınız?

Buradan scipti indirin: https://github.com/easyly471/bbcode

ve pygments modulunu pip ile yukleyin:
Kod:
$ pip install Pygments && pip install colorama

Scriptin bulundugu dizine gidin. config.ini dosyasini acin:




Bazi ayarlar görülmekte:

[app]

input: Kodlari yazacaginiz dosyanin ismi
output: Kodlarin cıktısını alacağımız dosyanin ismi
lang: hangi programlama dilini kullanacaginizi belirtin.

[syntax]
style: Kodlarin renklerini degistirebilirsiniz tema isimlerini yazmaniz yeterli.
Butun temalar aşağıdaki gibidir:
Kod:
['default', 'emacs', 'friendly', 'colorful', 'autumn', 'murphy', 
'manni', 'monokai', 'perldoc', 'pastie', 'borland', 'trac',
 'native', 'fruity', 'bw', 'vim', 'vs', 'tango', 'rrt', 'xcode', 'igor', 
'paraiso-light', 'paraiso-dark', 'lovelace', 'algol', 'algol_nu', 'arduino', 
'rainbow_dash', 'abap']

Total: 29

default:
Kod:
import math

#Bu aciklama satiridir
def main():
    print math.pi
    print 'Deneme'
    
if __name__ == '__main__':
    main()

emacs:
Kod:
import math

#Bu aciklama satiridir
def main():
    print math.pi
    print 'Deneme'
    
if __name__ == '__main__':
    main()
Colorful:
Kod:
import math

#Bu aciklama satiridir
def main():
    print math.pi
    print 'Deneme'
    
if __name__ == '__main__':
    main()


Python3 ve Python2 destegi vardir.

Not: Bazi temalarda buglar var. Mesela native temasinda aralarda bosluk koymasi lazim iken koymuyor biresik yapiyor. Pygments'e bildirdim dikkate alirlar da guncelleme getirirlerse konuyu editleyecegim.
Welcome! — Pygments

Evet umarim isinize yarar. Kodlariniz hem anlasilir hem de dikkat cekici olmasini istiyorsaniz bunu kullanabilirsiniz
---------------------
~Cahile gelmez benden hayır
Konu BufGix tarafından (29-06-2018 13:11 Saat 13:11 ) değiştirilmiştir.
TrOwX - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2017
Nereden:
Trabzon/TR
Mesajlar:
261
Konular:
28
Teşekkür (Etti):
56
Teşekkür (Aldı):
76
Ticaret:
(0) %
19-06-2018 19:13
#2
Ellerine sağlık yararlı
---------------------
Sen Bir Yıldız Gibi Uzak Ama Uzak Olmasına Rağmen Görünen Parlayan! Aramıza Bulutlar Girmesin...

Arkadan Gelen Rüzgar Seni Alır Ama Beni Almaz Bana Sarıl Sımsıkı Tutun!
Rootcmd - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2016
Nereden:
Nebula
Yaş:
22
Mesajlar:
4.303
Konular:
239
Teşekkür (Etti):
113
Teşekkür (Aldı):
861
Ticaret:
(0) %
19-06-2018 19:20
#3
Eline saglik
---------------------
"İnsanın özgürlüğü istediği her şeyi yapabilmesinde değil, istemediği hiçbir şeyi yapmak zorunda olmamasındadır."


R3DBULL - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
04/2016
Mesajlar:
615
Konular:
57
Teşekkür (Etti):
228
Teşekkür (Aldı):
100
Ticaret:
(0) %
19-06-2018 19:32
#4
Elinize sağlık, güzel çalışma.
Ceen - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
07/2017
Mesajlar:
219
Konular:
19
Teşekkür (Etti):
70
Teşekkür (Aldı):
75
Ticaret:
(0) %
19-06-2018 19:42
#5
Bir daha ki konumda scriptinizi kullanacağım. Elinize sağlık hocam.
k3~
k3~ - ait Kullanıcı Resmi (Avatar)
Özel Üye
Üyelik tarihi:
10/2015
Mesajlar:
2.881
Konular:
202
Teşekkür (Etti):
1743
Teşekkür (Aldı):
3389
Ticaret:
(0) %
19-06-2018 19:47
#6
Eline sağlık
OAKAY - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
06/2017
Nereden:
TÜRKİYE
Mesajlar:
303
Konular:
2
Teşekkür (Etti):
16
Teşekkür (Aldı):
33
Ticaret:
(0) %
19-06-2018 20:00
#7
Eline sağlık hocam
--------------------- KAHRAMAN ;
BEDEL SIRASINDA EN
ÖNDE ,
ÖDÜL SIRASINDA EN ARKADA DURANDIR . . .
BufGix - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
Phobos/Space
Mesajlar:
1.023
Konular:
74
Teşekkür (Etti):
314
Teşekkür (Aldı):
446
Ticaret:
(0) %
20-06-2018 22:33
#8
Veryon 0.2'ye guncelledim.
---------------------
~Cahile gelmez benden hayır
emrekasgur01 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2018
Mesajlar:
38
Konular:
6
Teşekkür (Etti):
0
Teşekkür (Aldı):
8
Ticaret:
(0) %
29-07-2018 16:48
#9
Şu profilinizdeki açıklama varya onu artık rm -rf /* yapmayın deneyenler oluyor linuxta Eline Sağlık
--------------------- Yazılım Geliştirici , Siber Güvenlik
Konu emrekasgur01 tarafından (29-07-2018 16:58 Saat 16:58 ) değiştirilmiştir.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı