🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
15 messages
15 total messages Started by Mateuszzz Mon, 04 Apr 2011 18:32
kolorowanie składni
#27981
Author: Mateuszzz
Date: Mon, 04 Apr 2011 18:32
12 lines
1476 bytes
Witam,

chciałbym skopiować skrypt Pythona do dokumentu Worda, jednocześnie 
zachowując kolorowanie składni.
W jaki sposób można to wykonać?
Widziałem edytory (niestety nie dla Pythona) pozwalające na eksport do 
htmla - gdy taki plik posiadamy wystarczyło skopiować tekst z przeglądarki.

Innym pomysłem jaki przyszedł mi do głowy jest napisanie makra, które 
automatycznie "pokoloruje" za nas odpowiedni fragment (jednocześnie
obawiam się, że mogłoby zafarbować również inne wyrazy niż słowa 
kluczowe)...
Re: kolorowanie składni
#27982
Author: Stachu 'Dozzie' K.
Date: Mon, 04 Apr 2011 18:38
14 lines
1557 bytes
On 2011-04-04, Mateuszzz <km_wawaUSUNMNIE@vp.pl> wrote:
> Witam,
>
> chciałbym skopiować skrypt Pythona do dokumentu Worda, jednocześnie 
> zachowując kolorowanie składni.
> W jaki sposób można to wykonać?
> Widziałem edytory (niestety nie dla Pythona) pozwalające na eksport do 
> htmla - gdy taki plik posiadamy wystarczyło skopiować tekst z przeglądarki.

Vim?

-- 
Secunia non olet.
Stanislaw Klekot
Re: kolorowanie składni
#27983
Author: Jordan Szubert
Date: Mon, 04 Apr 2011 19:15
21 lines
1808 bytes
Dnia 04-04-2011 o 20:32:45 Mateuszzz <km_wawaUSUNMNIE@vp.pl> napisał(a):

> Witam,
>
> chciałbym skopiować skrypt Pythona do dokumentu Worda, jednocześnie  
> zachowując kolorowanie składni.
> W jaki sposób można to wykonać?
> Widziałem edytory (niestety nie dla Pythona) pozwalające na eksport do  
> htmla - gdy taki plik posiadamy wystarczyło skopiować tekst z  
> przeglądarki.
>
> Innym pomysłem jaki przyszedł mi do głowy jest napisanie makra, które  
> automatycznie "pokoloruje" za nas odpowiedni fragment (jednocześnie
> obawiam się, że mogłoby zafarbować również inne wyrazy niż słowa  
> kluczowe)...

http://pygments.org/
ma generowanie RTF, koloruje nie tylko pythona...

-- 
Jordan Szubert
Re: kolorowanie składni
#27984
Author: Rob Wolfe
Date: Mon, 04 Apr 2011 20:28
132 lines
5525 bytes
Mateuszzz <km_wawaUSUNMNIE@vp.pl> writes:

> Witam,
>
> chciałbym skopiować skrypt Pythona do dokumentu Worda, jednocześnie
> zachowując kolorowanie składni.
> W jaki sposób można to wykonać?
> Widziałem edytory (niestety nie dla Pythona) pozwalające na eksport do
> htmla - gdy taki plik posiadamy wystarczyło skopiować tekst z
> przeglądarki.
>
> Innym pomysłem jaki przyszedł mi do głowy jest napisanie makra, które
> automatycznie "pokoloruje" za nas odpowiedni fragment (jednocześnie
> obawiam się, że mogłoby zafarbować również inne wyrazy niż słowa
> kluczowe)...

Jeszcze innym pomysłem jest użycie reStructuredText [1]_, czyli prostego
języka znaczników. Tych znaczników można użyć w dowolnym edytorze
i są też narzędzia pozwalające przekształcić go np. do html-a.
Przykładowo mając taki tekst:

# -->-- code.rst -->--

Wymagania:

#. `docutils <http://docutils.sourceforge.net/>`_
#. `pygments <http://pygments.org/download/>`_
#. `rst2html-highlight <http://docutils.sourceforge.net/sandbox/code-block-directive/rst2html-highlight>`_
#. `pygments_code_block_directive.py <http://docutils.sourceforge.net/sandbox/code-block-directive/pygments_code_block_directive.py>`_

Przykładowy kod:

  .. code-block:: python

    def foo(s, lst):
        ret = None
        for elem in lst:
            if s in elem:
                ret = elem
                break
        return ret

# -->-- code.rst -->--

do wygenerowania html-a wystarczy takie oto polecenie:
$ rst2html-highlight --stylesheet=default.css --link-stylesheet code.rst > code.html
(Na początku powyższego tekstu podałem linki do wszystkiego co jest potrzebne,
aby móc wygenerować html z reST.)

gdzie default.css, to dowolny stylesheet, ale najprościej utworzyć go 
w ten sposób [2]_:
$ pygmentize -S default -f html > default.css

Osobiście do generowania html-i używam takiego programiku:

#  -->-- make.py -->--

import sys
from subprocess import call

def run(inname, outname):
    call(['rst2html-highlight', '--stylesheet=style/code.css',
          '--link-stylesheet', '--input-encoding=utf-8',
          '--output-encoding=utf-8', inname, outname])

if __name__ == '__main__':
    run(sys.argv[1], sys.argv[2])

#  -->-- make.py -->--

gdzie "style/code.css", to mój osobisty stylesheet, a tekst jest pisany
w utf-8.

A tak wygląda efekt końcowy po przetworzeniu do html-a powyższego przykładu:

-->-- code.html -->--

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.7: http://docutils.sourceforge.net/" />
<title></title>
<link rel="stylesheet" href="default.css" type="text/css" />
</head>
<body>
<div class="document">


<p>Wymagania:</p>
<ol class="arabic simple">
<li><a class="reference external" 
       href="http://docutils.sourceforge.net/">docutils</a></li>
<li><a class="reference external" 
       href="http://pygments.org/download/">pygments</a></li>
<li><a class="reference external" 
       href="http://docutils.sourceforge.net/sandbox/code-block-directive/rst2html-highlight">rst2html-highlight</a></li>
<li><a class="reference external" 
       href="http://docutils.sourceforge.net/sandbox/code-block-directive/pygments_code_block_directive.py">pygments_code_block_directive.py</a></li>
</ol>
<p>Przykładowy kod:</p>
<blockquote>
<pre class="code-block python literal-block">
<span class="k">def</span> <span class="nf">foo</span><span class="p">
(</span><span class="n">s</span><span class="p">,</span> 
 <span class="n">lst</span><span class="p">):</span>
    <span class="n">ret</span> <span class="o">=</span> <span class="bp">None</span>
    <span class="k">for</span> <span class="n">elem</span> <span
    class="ow">in</span> 
    <span class="n">lst</span><span class="p">:</span>
    <span class="k">if</span> <span class="n">s</span> 
    <span class="ow">in</span> <span class="n">elem</span><span class="p">:</span>
            <span class="n">ret</span> <span class="o">=</span> 
            <span class="n">elem</span>
            <span class="k">break</span>
    <span class="k">return</span> <span class="n">ret</span>

</pre>
</blockquote>
</div>
</body>
</html>

-->-- code.html -->--


.. [1] http://docutils.sourceforge.net/rst.html
.. [2] http://pylit.berlios.de/examples/pygments-default.css.html

RW
Re: kolorowanie składni
#27985
Author: Roman Dobosz
Date: Wed, 06 Apr 2011 04:56
26 lines
2265 bytes
On Mon, 04 Apr 2011 22:28:48 +0200
Rob Wolfe <rw@smsnet.pl> wrote:

> > chciałbym skopiować skrypt Pythona do dokumentu Worda, jednocześnie
> > zachowując kolorowanie składni.
[...]
> Jeszcze innym pomysłem jest użycie reStructuredText [1]_, czyli prostego
> języka znaczników. Tych znaczników można użyć w dowolnym edytorze
> i są też narzędzia pozwalające przekształcić go np. do html-a.
> Przykładowo mając taki tekst:

W kontekście, który zachowałem u góry,  korzystanie z reST jest
trochę jak wytaczanie armaty na muchę :). Zwłaszcza, że do
kolorowania składni przy pomocy pygments do jednego z jego wielu
formatów wyjściowych (w tym rtf), wystarczy skorzystać z narzędzia
linii komend pygmentize...

Chyba, że miałeś na myśli alternatywę dla Worda w ogóle :) Wtedy jest
cała masa możliwości od vima (który potrafi wygenerować html
uwzględniając używany schemat kolorów) co z kolei można użyć w
dowolnym dokumencie html, po LaTeX z pakietem listings :)

-- 
      -^-  _        coś tam w tle sobie gra, np:
   _ /O)_\//        Assemblage 23 - Binary
  (_(|__(_(_) grf.  
Re: kolorowanie składni
#27986
Author: Rob Wolfe
Date: Wed, 06 Apr 2011 06:50
46 lines
2998 bytes
On 6 Kwi, 06:56, Roman Dobosz <gryf_esm...@spam-o2.pl> wrote:
> On Mon, 04 Apr 2011 22:28:48 +0200
>
>
>
> Rob Wolfe <r...@smsnet.pl> wrote:
> > > chciałbym skopiować skrypt Pythona do dokumentu Worda, jednocześnie
> > > zachowując kolorowanie składni.
> [...]
> > Jeszcze innym pomysłem jest użycie reStructuredText [1]_, czyli prostego
> > języka znaczników. Tych znaczników można użyć w dowolnym edytorze
> > i są też narzędzia pozwalające przekształcić go np. do html-a.
> > Przykładowo mając taki tekst:
>
> W kontekście, który zachowałem u góry,  korzystanie z reST jest
> trochę jak wytaczanie armaty na muchę :).

Dlaczego armata? Wystarczy opanowac kilka znacznikow
i sie ma fajne zrodlo do generowania roznych formatow (pdf, latex, chm
itp.).
Poza tym poznanie reST uwazam za obowiazek kazdego
szanujacego sie Pythonauty. ;)

> Zwłaszcza, że do
> kolorowania składni przy pomocy pygments do jednego z jego wielu
> formatów wyjściowych (w tym rtf), wystarczy skorzystać z narzędzia
> linii komend pygmentize...

Mozna, ja tez zaproponowalem narzedzie do uruchomienia z linii komend.

>
> Chyba, że miałeś na myśli alternatywę dla Worda w ogóle :)

No do konca nie wiem o jakim zastosowaniu myslal OP.

> Wtedy jest
> cała masa możliwości od vima (który potrafi wygenerować html
> uwzględniając używany schemat kolorów) co z kolei można użyć w
> dowolnym dokumencie html, po LaTeX z pakietem listings :)

Jak ktos uzywa na codzien vim-a, czy innego edytora,
ktory to potrafi to OK. A jak nie, to imho nie ma sensu
zmieniac edytora tylko dla jednego "ficzera".
Sa do tego inne narzedzia.

RW
Re: kolorowanie składni
#27987
Author: Szyk
Date: Wed, 06 Apr 2011 12:01
22 lines
2025 bytes
W dniu 2011-04-04 20:32, Mateuszzz pisze:
> Witam,
>
> chciałbym skopiować skrypt Pythona do dokumentu Worda, jednocześnie
> zachowując kolorowanie składni.
> W jaki sposób można to wykonać?
> Widziałem edytory (niestety nie dla Pythona) pozwalające na eksport do
> htmla - gdy taki plik posiadamy wystarczyło skopiować tekst z przeglądarki.

Tak się składa, że piszę edytor tekstu dla programistów i właśnie 
zrobiłem kolorowanie składni (w tym plików Pythona). Mogę łatwo dodać 
eksport do HTML a nawet do ODF (OpenOffice Writer). Moja propozycja jest 
taka: mogę Ci udostępnić ten edytor w takim stanie jakim jest + eksport 
do HTML w cenie 100zł. A z eksportem do ODF w cenie 150zł.

Dodam tylko, że edytor jest funkcjonalny w zakresie odczytu i zapisu 
plików kodowanych w UTF-8. Ostatnio pracowałem nad wygodną edycją (tak 
by jak najszybciej można go było wygodnie używać).


pozdrawia
Szyk
Re: kolorowanie składni
#27988
Author: Artur Lew
Date: Wed, 06 Apr 2011 16:58
22 lines
2012 bytes
W dniu 2011-04-06 14:01, Szyk pisze:
> Tak się składa, że piszę edytor tekstu dla programistów i właśnie
> zrobiłem kolorowanie składni (w tym plików Pythona). Mogę łatwo dodać
Tak z ciekawosci - widziales Scintile?
Bo nie wiem czy wiesz ale marnujesz energie w ten sposob ;)

> eksport do HTML a nawet do ODF (OpenOffice Writer). Moja propozycja jest
> taka: mogę Ci udostępnić ten edytor w takim stanie jakim jest + eksport
> do HTML w cenie 100zł. A z eksportem do ODF w cenie 150zł.
Zartujesz prawda ?
:D

> Dodam tylko, że edytor jest funkcjonalny w zakresie odczytu i zapisu
> plików kodowanych w UTF-8. Ostatnio pracowałem nad wygodną edycją (tak
> by jak najszybciej można go było wygodnie używać).
Jak zapewnisz funkcjonalnosc TextMate albo chociazby Sublime to kupie go
od ciebie nawet za 10x wieksza kase ;)

-- 
Pozdrawiam
Artur Lew
arturdotlewatgmaildotcom
Re: kolorowanie składni
#27989
Author: Szyk
Date: Wed, 06 Apr 2011 18:35
6 lines
1334 bytes
> Zartujesz prawda ?
> :D

Tak często to powtarzasz kupując cukier i paliwo, że już na wszytko tak 
reagujesz? Więc i dla Ciebie mam propozycje: Zawstyć Tuska i zarządaj od 
niego kasy na leczenie!!! Bo natręctwa się leczy!
Re: kolorowanie składni
#27990
Author: mvoicem
Date: Wed, 06 Apr 2011 19:19
6 lines
1385 bytes
(06.04.2011 20:35), Szyk wrote:
> Zawstyć Tuska i zarządaj od niego kasy na leczenie!!!

Zażądaj od niego kasy na słownik ortograficzny...

p. m.
Re: kolorowanie składni
#27991
Author: Szyk
Date: Thu, 07 Apr 2011 11:56
8 lines
1609 bytes
W dniu 2011-04-06 21:19, mvoicem pisze:
> (06.04.2011 20:35), Szyk wrote:
>> Zawstyć Tuska i zarządaj od niego kasy na leczenie!!!
>
> Zażądaj od niego kasy na słownik ortograficzny...

MOże popełnniam błędy ort. ale pszy tylu jęyzkach kturymi piszę jest to 
żecz naturalna i nabyta!
Re: kolorowanie składni
#27993
Author: Daniel Mróz
Date: Thu, 07 Apr 2011 14:49
19 lines
1663 bytes
On 04.04.2011, Mateuszzz <km_wawaUSUNMNIE@vp.pl> wrote:
> chciałbym skopiować skrypt Pythona do dokumentu Worda, jednocześnie 
> zachowując kolorowanie składni.
> W jaki sposób można to wykonać?
Jest taki programik, co się "highlight" zwie. Potrafi generować kod HTML,
RTF, a nawet i LaTeX. Ma możliwość zdefiniowania własnych profili kolorów,
numerowania linii i kilka innych ficzerów.
Nie wiem czy jest port na Windows, ale to jest tak prosta aplikacja, że
na 99% jest wersja pod ten system.


Pozdrawiam
Beorn

-- 
Daniel 'Beorn' Mróz <beorn@alpha.pl>    http://127.0.0.1/beorn
[GIT d s:- a-@ C++++ UL++++$ P+ L++++ E--- W+ N+++ o? K- w---]
[O- M- V!  PS+ PE++ Y+ PGP++ t- 5  X R !tv b+ DI D++ G++ e h*]
[                          r++  y+                           ]
Re: kolorowanie składni
#27992
Author: mvoicem
Date: Thu, 07 Apr 2011 17:38
14 lines
1666 bytes
(07.04.2011 13:56), Szyk wrote:
> W dniu 2011-04-06 21:19, mvoicem pisze:
>> (06.04.2011 20:35), Szyk wrote:
>>> Zawstyć Tuska i zarządaj od niego kasy na leczenie!!!
>>
>> Zażądaj od niego kasy na słownik ortograficzny...
> 
> MOże popełnniam błędy ort. ale pszy tylu jęyzkach kturymi piszę jest to
> żecz naturalna i nabyta!

To naturalna czy nabyta? A czy nie rozważyłbyś nabycia jakiegoś
spellcheckera?

p. m.
Re: kolorowanie składni
#27994
Author: Robert Pyzel
Date: Fri, 08 Apr 2011 21:19
17 lines
1499 bytes
Dnia Mon, 04 Apr 2011 20:32:45 +0200, Mateuszzz napisał(a):

> Witam,
> 
> chciałbym skopiować skrypt Pythona do dokumentu Worda, jednocześnie 
> zachowując kolorowanie składni.
> W jaki sposób można to wykonać?
> Widziałem edytory (niestety nie dla Pythona) pozwalające na eksport do 
> htmla - gdy taki plik posiadamy wystarczyło skopiować tekst z przeglądarki.
> 
Może to będzie pomocne? (HTML nie DOC, ale na początek) 
http://blog.konieczny.be/2006/08/27/kod-zrodlowy-w-dowolnym-jezyku-jako-strona-www-html/
Sporo informacji i innych możliwośći znajdziesz też w komentarzach pod
wspisem. 

-- 
Nazywanie ateizmu religią, to jak mówienie, że łysina to kolor włosów. 
Re: kolorowanie składni
#27995
Author: Adam Przybyla
Date: Sat, 09 Apr 2011 08:07
19 lines
1690 bytes
Robert Pyzel <rpyzel@gazeta.bez.spamu.pl> wrote:
> Dnia Mon, 04 Apr 2011 20:32:45 +0200, Mateuszzz napisał(a):
> 
>> Witam,
>> 
>> chciałbym skopiować skrypt Pythona do dokumentu Worda, jednocześnie 
>> zachowując kolorowanie składni.
>> W jaki sposób można to wykonać?
>> Widziałem edytory (niestety nie dla Pythona) pozwalające na eksport do 
>> htmla - gdy taki plik posiadamy wystarczyło skopiować tekst z przeglądarki.
>> 
> Może to będzie pomocne? (HTML nie DOC, ale na początek) 
> http://blog.konieczny.be/2006/08/27/kod-zrodlowy-w-dowolnym-jezyku-jako-strona-www-html/
> Sporo informacji i innych możliwośći znajdziesz też w komentarzach pod
> wspisem. 
	... a moze tak:
http://alexgorbatchev.com/SyntaxHighlighter/
> Z powazaniem
								Adam Przybyla
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads