Textilize z wyłączeniem części kodu

a mianowicie, wyświetlam treść na ekranize za pomoca textilize, ale chciał bym by omijał wszystko co jest między

 a 

Czy da to się jakoś zrobić

a co jest między ‘pre’, jeżeli html, to zrób prasera html na całość textile

Opisałem coś takiego tu, może Ci się przyda.

miedzy pre jest rozny kod zrodlowy , c html ruby bash wszystko moze byc w sumie

mh mrzeczywiście ciekawie to opisałeś zaraz nad tym posiedze bo problem jest w recz identyczny mam coderay i nie chce by mi go textile meczyl swoimi br i innymi cudami
Ps zajebisty layout na prawde jestem w szoku swietna spawa

dzięki :slight_smile:

ogólnie sprawa się sprowadza tylko do dodania przed znacznik pre np

a za nim musze to tylko jakos wplesc w moj kod i bedzie git ;]

mam pytanie co do twojego tutoriala, gdzie ten modul GreenCloth wrzucic bo nie bardzo mi to działa?

/lib/green_cloth.rb

w enviroment.rb:

include GreenCloth

i inicjujesz jak pokazałem

ok :slight_smile: dzieki ;]

ech no nie wiem co jest, robie w mojej aplikacji w katalogu lib plik green_cloth.rb w niej ten modul, daje include i ciagle ten sam blad

Exiting
/usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:445:in load_missing_constant': uninitialized constant GreenCloth (NameError) from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:77:inconst_missing’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:89:in `const_missing’
from /home/gotar/Programowanie/Ruby/studia/blog-gotar/config/environment.rb:16

spróbuj

RedCloth::TextileDoc.send(:include, GreenCloth)

zaraz po tym include, dodatkowo sprawdz nazwy

Nie no wszystko jest ok ;/ a include GreenCloth i RedCloth::TextileDoc.send(:include, GreenCloth) to w sumie nie to samo?

no wiec moze po kolei jak mam, moze czegos nie widze ;/

pwd
/home/gotar/Programowanie/Ruby/studia/blog-gotar

ls lib/
active_form.rb green_cloth.rb tasks

cat lib/green_cloth.rb
module GreenCloth
def format_post_content(post)
html = post[:body].blank? ? “” : post[:body].clone
while match = html.match(/[_code=(.+?)](.+?)[/code]/m)
m2 = Regexp.escape(match[2])
html.gsub!(/[_code=#{match[1].strip}]#{m2}[/code]/m,
CodeRay.scan(match[2].chomp, (match[1]||“ruby”).to_sym).div)
ActionView::Base.new(Rails::Configuration.new.view_path).render(:partial => ‘show_it’, :object=>text) unless text.nil?
end
post[:body] = html
return post
end
end

no i na koniec
cat config/environment.rb | head -n 20

Be sure to restart your server when you modify this file

Uncomment below to force Rails into production mode when

you don’t control web/app server and can’t set it the proper way

ENV[‘RAILS_ENV’] ||= ‘production’

Specifies gem version of Rails to use when vendor/rails is not present

RAILS_GEM_VERSION = ‘2.2.2’ unless defined? RAILS_GEM_VERSION

Bootstrap the Rails environment, frameworks, and default configuration

require File.join(File.dirname(FILE), ‘boot’)

require ‘coderay’
require ‘RedCloth’

include GreenCloth
RedCloth::TextileDoc.send(:include, GreenCloth)

Rails::Initializer.run do |config|

Settings in config/environments/* take precedence over those specified here.

nie wiem czy to ma znaczenie, ale linijki:

require 'coderay' require 'RedCloth' include GreenCloth RedCloth::TextileDoc.send(:include, GreenCloth)
daj na samym końcu enviroment.rb, jak nie pomoże to ci dam dostęp do repo z testową aplikacją zobaczysz czy działa

no cos jest lepiej ;]

bledu nie ma i skorzystało z template partian _show_it

ale zastosowalo go do calego postu i do tego nie pokolorowalo nic :confused: caly post wrzucilo miedzy a i nie usunelo znacznikow [_code=ruby]

[_/code]

kozystalem z twojego gsub itp ale chyba wroce do swojeje i sprobuej

nie jestem tylko pewny czy w dobrym miejscy to wywoluje,

ta czesc ma byc w koltrolerze czy w widoku ?

RedCloth.new(text).to_html(:parse_code_tag)

bo chcialem zapisac w bazie zwykly niesformatowany kod ze znacznikami [] jeszcze i dopiero wyswietlajac go zmienic, wiec dalem go w widoku:

<%= RedCloth.new(post.body).to_html(:parse_code_tag) %>

czy w tym jest blad?

bo jest błąd! :slight_smile: się pomyliłem, tak ma być:

[code=ruby]module GreenCloth

def parse_code_tag(text)

text.gsub!(/(\[_code([?<=\=](.+)|)[^\]]*\](.*?)\[\/code\])/m){ |result|
    
    lang, code=$~[3..4]
    coderay_text=CodeRay.scan(code,(lang||"ruby").to_sym).html.numerize

    ActionView::Base.new(Rails::Configuration.new.view_path).render
            (:partial => 'el/show_it',:object=> coderay_text )

}

end

end[/code]
sorki :slight_smile:

ok juz probuje ;]

ech dalej gdzies jest bład w tym, bo sie nie ładuje w ogole serwer cos przy :partial =>

Exiting
/usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:382:in `load_without_new_constant_marking’: /home/gotar/Programowanie/Ruby/studia/blog-gotar/lib/green_cloth.rb:7: syntax error, unexpected tASSOC, expecting ‘)’ (SyntaxError)
(:partial => ‘posts/show_it’, :object => coderay_text )
^
/home/gotar/Programowanie/Ruby/studia/blog-gotar/lib/green_cloth.rb:7: syntax error, unexpected ‘,’, expecting ‘)’
(:partial => ‘posts/show_it’, :object => coderay_text )

Gotar, Nie dalo sie tego w jednym poscie napisac? </moze sie czepiam>

no w sumie by sie dalo gdybym pisal je naraz, ale moglem w sumie wyedytowac, no ale czy to wazne?