Sha256: 8200d60e8493a8bf72f27eda7c72a57937b36666dcb411e5b52306db25d8abe8
Contents?: true
Size: 1019 Bytes
Versions: 1
Compression:
Stored size: 1019 Bytes
Contents
# written as an example of how to implement the minimal _why wiki require 'rubygems' require 'ramaze' require 'yaml/store' require 'bluecloth' DB = YAML::Store.new('whywiki.yaml') unless defined?(DB) class WikiController < Ramaze::Controller map :/ def index redirect r(:show, 'Home') end def show page = 'Home' @page = url_decode(page) @text = DB.transaction{|db| db[page] }.to_s @edit_link = "/edit/#{page}" @text.gsub!(/\[\[(.*?)\]\]/) do |m| exists = DB.transaction{|db| db[$1] } ? 'exists' : 'nonexists' A($1, :href => rs(:show, url_encode($1)), :class => exists) end @text = BlueCloth.new(@text).to_html end def edit page = 'Home' @page = url_decode(page) @text = DB.transaction{|db| db[page] } end def save redirect_referer unless request.post? page = request['page'].to_s text = request['text'].to_s DB.transaction{|db| db[page] = text } redirect rs(:show, url_encode(page)) end end Ramaze.start host: '0.0.0.0'
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ramaze-2023.01.06 | examples/app/whywiki/start.rb |