OpenGuides / Wiki-Toolkit

http://www.wiki-toolkit.org/
2 stars 3 forks source link

NAME Wiki::Toolkit - A toolkit for building Wikis.

DESCRIPTION Helps you develop Wikis quickly by taking care of the boring bits for you. You will still need to write some code - this isn't an instant Wiki.

Wiki::Toolkit used to be called CGI::Wiki.

SEE ALSO Tom Insam's Wiki::Toolkit::Kwiki is however an instant wiki, running on a Wiki::Toolkit backend.

SYNOPSIS

  # Set up a wiki object with an SQLite storage backend, and an
  # inverted index/DB_File search backend.  This store/search
  # combination can be used on systems with no access to an actual
  # database server.

  my $store     = Wiki::Toolkit::Store::SQLite->new(
      dbname => "/home/wiki/store.db" );
  my $indexdb   = Search::InvertedIndex::DB::DB_File_SplitHash->new(
      -map_name  => "/home/wiki/indexes.db",
      -lock_mode => "EX" );
  my $search    = Wiki::Toolkit::Search::SII->new(
      indexdb => $indexdb );

  my $wiki      = Wiki::Toolkit->new( store     => $store,
                                  search    => $search );

MAJOR METHODS

write_node
      $wiki->write_node($node_name, $content, $checksum);
      $wiki->write_node(
          "Calthorpe Arms",
          "A rather nice pub on Gray's Inn Road",
          $checksum,
          { category => [ "Pub", "Pub Food", "Bloomsbury" ] }
      );

format
      my $cooked = $wiki->format($raw);

delete_node
      $wiki->delete_node($node_name);

list_all_nodes
      my @node_names = $wiki->list_all_nodes;

list_backlinks
      my @links_to_me = $wiki->list_backlinks($node_name);

list_nodes_by_metadata
      my @pubs = $wiki->list_nodes_by_metadata(
          metadata_type  => "category",
          metadata_value => "Pub" );

list_recent_changes
      my @last_week_edits  = $wiki->list_recent_changes( days => 7 );
      my @last_ten_changes = $wiki->list_recent_changes(
                                              last_n_changes => 10 );

node_exists
      print "Got wombats" if $wiki->node_exists("Wombats");

retrieve_node
      my $homepage_content = $wiki->retrieve_node("Home Page");

      my %node_data = $wiki->retrieve_node( $node_name );
      print "Last Modified:    $node_data{last_modified}\n";
      print "Current Version:  $node_data{version}\n";
      print "Current Checksum: $node_data{checksum}\n";
      print "Current Content:  $node_data{content}\n";
      print "Categories:       "
          . join(", ", @{$node_data{metadata}{category}}) . "\n";

verify_checksum
      my $as_i_left_it = $wiki->verify_checksum( $node_name, $checksum );

search_nodes
      my @nodes = $search->nodes( "camel" );