[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r593 - GNUnet-docs/WWW GNUnet-docs/WWW/gnu.org doodle-docs/
From: |
grothoff |
Subject: |
[GNUnet-SVN] r593 - GNUnet-docs/WWW GNUnet-docs/WWW/gnu.org doodle-docs/WWW i18nHTML-docs/WWW i18nHTML-docs/WWW/download |
Date: |
Mon, 4 Apr 2005 00:13:05 -0700 (PDT) |
Author: grothoff
Date: 2005-04-04 00:12:56 -0700 (Mon, 04 Apr 2005)
New Revision: 593
Added:
i18nHTML-docs/WWW/download/i18nHTML-0.1.0.tar.bz2
i18nHTML-docs/WWW/download/i18nHTML-0.1.0.tar.gz
Modified:
GNUnet-docs/WWW/commitMassTranslation.php
GNUnet-docs/WWW/commitTranslation.php
GNUnet-docs/WWW/editor.php
GNUnet-docs/WWW/gnu.org/html_header.php3
GNUnet-docs/WWW/status.php
GNUnet-docs/WWW/translate.php
GNUnet-docs/WWW/vote.php
doodle-docs/WWW/index.php
i18nHTML-docs/WWW/index.php
Log:
update
Modified: GNUnet-docs/WWW/commitMassTranslation.php
===================================================================
--- GNUnet-docs/WWW/commitMassTranslation.php 2005-04-04 07:12:19 UTC (rev
592)
+++ GNUnet-docs/WWW/commitMassTranslation.php 2005-04-04 07:12:56 UTC (rev
593)
@@ -1,6 +1,6 @@
<?php
/*
- (C) 2003, 2004 Christian Grothoff
+ (C) 2003, 2004, 2005 Christian Grothoff
This code is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -19,22 +19,20 @@
*/
include("i18nhtml.inc");
if (!$connection) {
- echo "<html><head><title>WWW translation: commit</title></head><body>";
echo "Database is down. Cannot edit translations.";
- echo "</body></html>";
die();
}
if ($xlang == "English") {
- echo "<html><head><title>WWW translation: commit</title></head><body>";
W("Translating to English currently not allowed.\n");
- echo "</body></html>";
die();
}
-echo "<html><head><title>WWW translation: commit</title></head><body>";
+echo "<html><head>";
+TITLE("WWW translation: commit");
+echo "</head><body>";
W("Processing translations...");
P();
$done = 0;
-foreach($_GET as $dec=>$val) {
+foreach($_POST as $dec=>$val) {
if ($val == "")
continue;
if ( ($dec == "xlang") || ($dec == "start") )
@@ -48,7 +46,7 @@
$num--;
$row = mysql_fetch_array($result);
if ($dec == bin2hex(md5(urldecode($row["c"])))) {
- $enc = $row["c"];
+ $enc = mysql_real_escape_string($row["c"]);
break;
}
}
@@ -60,22 +58,30 @@
}
$query = "DELETE FROM pending WHERE lang=\"$lang\" AND c=\"$enc\"";
mysql_query($query, $connection);
- //$t = urlencode($val);
- $t = urlencode($val);
- // $t = urlencode(htmlentities($val, ENT_QUOTES, $charset));
+ $t = mysql_real_escape_string(to_unicode($val));
$query = "SELECT ranking FROM map WHERE name=\"$enc\" AND lang=\"$lang\" AND
translation=\"$t\"";
$result = mysql_query($query, $connection);
$num = 0;
if ($result)
$num = mysql_numrows($result);
if ($num == 0) {
- $query = "INSERT INTO map VALUES(\"$enc\", \"$lang\", \"$t\", 1, \"" .
$_SERVER['REMOTE_ADDR'] . "\");";
- mysql_query($query, $connection);
- $done++;
- W("Storing translation for "%s" = "%s".",
- ARRAY(urldecode($enc),
- urldecode($t)));
- BR();
+ $txtCnt = count_chars(urldecode($enc), 1);
+ $tCnt = count_chars($t, 1);
+ if ($txtCnt[ord('%')] != $tCnt[ord('%')]) {
+ W("Commit '%s->%s' failed.", $enc, $t);
+ W("The number of percent signs in source text and translation do not
match.");
+ W("Note that you must preserve all %%s expressions unchanged.");
+ W("Also, a single displayed %% sign must be translated into two (%%%%)
such signs.");
+ P();
+ } else {
+ $query = "INSERT INTO map VALUES(\"$enc\", \"$lang\", \"$t\", 1, \"" .
$_SERVER['REMOTE_ADDR'] . "\");";
+ mysql_query($query, $connection);
+ $done++;
+ W("Storing translation for "%s" = "%s".",
+ ARRAY(urldecode($enc),
+ urldecode($t)));
+ BR();
+ }
}
}
P();
Modified: GNUnet-docs/WWW/commitTranslation.php
===================================================================
--- GNUnet-docs/WWW/commitTranslation.php 2005-04-04 07:12:19 UTC (rev
592)
+++ GNUnet-docs/WWW/commitTranslation.php 2005-04-04 07:12:56 UTC (rev
593)
@@ -1,6 +1,6 @@
<?php
/*
- (C) 2003, 2004 Christian Grothoff
+ (C) 2003, 2004, 2005 Christian Grothoff
This code is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -18,7 +18,7 @@
Boston, MA 02111-1307, USA.
*/
include("i18nhtml.inc");
-$text = $_REQUEST['text'];
+$text = mysql_real_escape_string($_REQUEST['text']);
$translation = $_REQUEST['translation'];
$back = $_REQUEST['back'];
if (!$connection) {
@@ -30,12 +30,7 @@
die();
}
-// note: $text is already urlencoded (by submitting via form) and html
compatible
-// ensure translation is stored in encoded form and html compatible
-// if (get_magic_quotes_gpc()) $translation = stripslashes($translation);
-
-// $t = urlencode(htmlentities($translation, ENT_QUOTES, $charset));
-$t = urlencode($translation);
+$t = mysql_real_escape_string(to_unicode($translation));
// check for identical translation
$query = "SELECT ranking FROM map WHERE name=\"$text\" AND lang=\"$lang\" AND
translation=\"$t\"";
$result = mysql_query($query, $connection);
@@ -44,22 +39,38 @@
$num = mysql_numrows($result);
}
if ($num > 0) {
- echo "<html><body>";
+ echo "<html><head>";
+ TITLE("Translation exists.");
+ echo "</head><body>";
W("Translation exists.");
extlink($back, "Back...");
generateFooter();
echo "</body></html>";
} else {
- // if (!get_magic_quotes_gpc()) $t = addslashes($t); // ensure escaped
before adding to DB
- $query = "INSERT INTO map VALUES(\"$text\", \"$lang\", \"$t\", 1, \"" .
$_SERVER['REMOTE_ADDR'] . "\");";
- $result = mysql_query($query, $connection);
- if ($result) {
- header("Location: " . $back); /* Redirect browser */
+ $txtCnt = count_chars(urldecode($text), 1);
+ $tCnt = count_chars($t, 1);
+ if ($txtCnt[ord('%')] != $tCnt[ord('%')]) {
+ echo "<html><head>";
+ TITLE("Commit failed.");
+ echo "</head><body>";
+ W("Commit failed.");
+ W("The number of percent signs in source text and translation do not
match.");
+ W("Note that you must preserve all %%s expressions unchanged.");
+ W("Also, a single displayed %% sign must be translated into two (%%%%)
such signs.");
+ echo "</body></html>";
} else {
- echo "<html><body>";
- W("Commit ('%s') failed: ", $query);
- echo mysql_error();
- echo "</body></html>";
+ $query = "INSERT INTO map VALUES(\"$text\", \"$lang\", \"$t\", 1, \"" .
$_SERVER['REMOTE_ADDR'] . "\");";
+ $result = mysql_query($query, $connection);
+ if ($result) {
+ header("Location: " . $back); /* Redirect browser */
+ } else {
+ echo "<html><head>";
+ TITLE("Commit failed.");
+ echo "</head><body>";
+ W("Commit ('%s') failed: ", $query);
+ echo mysql_error();
+ echo "</body></html>";
+ }
}
}
-?>
+?>
\ No newline at end of file
Modified: GNUnet-docs/WWW/editor.php
===================================================================
--- GNUnet-docs/WWW/editor.php 2005-04-04 07:12:19 UTC (rev 592)
+++ GNUnet-docs/WWW/editor.php 2005-04-04 07:12:56 UTC (rev 593)
@@ -1,6 +1,6 @@
<?php
/*
- (C) 2003, 2004 Christian Grothoff
+ (C) 2003, 2004, 2005 Christian Grothoff
This code is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -65,7 +65,7 @@
ARRAY($start, $end));
P();
- echo "<form action=\"" . $i18nHTMLbase . "commitMassTranslation.php\">";
+ echo "<form method=\"POST\" action=\"" . $i18nHTMLbase .
"commitMassTranslation.php\">";
echo "<input type=hidden name=\"xlang\" value=\"$xlang\">";
$endp = $end + 1;
echo "<input type=hidden name=\"start\" value=\"$endp\">";
Modified: GNUnet-docs/WWW/gnu.org/html_header.php3
===================================================================
--- GNUnet-docs/WWW/gnu.org/html_header.php3 2005-04-04 07:12:19 UTC (rev
592)
+++ GNUnet-docs/WWW/gnu.org/html_header.php3 2005-04-04 07:12:56 UTC (rev
593)
@@ -4,9 +4,9 @@
<HEAD>
<?php
if ($title)
- echo "<title>";
- TRANSLATE($title);
- echo "</title>";
+ TITLE($title);
+ else
+ TITLE("GNUnet");
if ($description)
echo "<meta name=\"description\" content=\"";
TRANSLATE($description);
@@ -16,22 +16,16 @@
<meta name="keywords"
content="GNUnet,distributed,anonymous,p2p,sharing,accounting,accountability,denyability,backup,freenet,file,decentralized,free,GNU,Linux,GPL">
<meta name="robots" content="index,follow">
<meta name="revisit-after" content="28 days">
-<?php
-echo "<meta name=\"content-language\" content=\"" . $languagecodes[$lang] .
"\">";
-echo "<meta name=\"language\" content=\"" . $languagecodes[$lang] . "\">";
-?>
<meta name="publisher" content="Christian Grothoff">
<meta name="date" content="2004-09-18">
<?php
if ($author)
- echo "<meta name=\"rights\" content=\"(C) 2001,2002,2003,2004 by $author\">";
+ echo "<meta name=\"rights\" content=\"(C) 2001,2002,2003,2004,2005 by
$author\">";
else
- echo "<meta name=\"rights\" content=\"(C) 2001,2002,2003,2004 by Christian
Grothoff\">";
+ echo "<meta name=\"rights\" content=\"(C) 2001,2002,2003,2004,2005 by
Christian Grothoff\">";
?>
<meta http-equiv="expires" content="43200">
-<meta http-equiv="content-type" content="text/html;CHARSET=iso-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
-<link rel=stylesheet type="text/css"
HREF="http://www.ovmj.org/GNUnet/gnunet.css">
</HEAD>
<BODY>
<?php
Modified: GNUnet-docs/WWW/status.php
===================================================================
--- GNUnet-docs/WWW/status.php 2005-04-04 07:12:19 UTC (rev 592)
+++ GNUnet-docs/WWW/status.php 2005-04-04 07:12:56 UTC (rev 593)
@@ -26,9 +26,12 @@
echo "Database is down.";
die();
}
-echo "<html><head><title>";
-TRANSLATE("Translation: status");
-echo "</title></head><body>";
+$mode = $_REQUEST['mode'];
+
+DOCTYPE("HTML", "Transitional");
+echo "<html><head>\n";
+TITLE("Translation: status");
+echo "</head><body>";
W("Language setting is %s.",
$lang);
P();
@@ -87,5 +90,6 @@
W("in ");
echo "$a<br>";
}
+generateFooter();
echo "</body></html>";
?>
\ No newline at end of file
Modified: GNUnet-docs/WWW/translate.php
===================================================================
--- GNUnet-docs/WWW/translate.php 2005-04-04 07:12:19 UTC (rev 592)
+++ GNUnet-docs/WWW/translate.php 2005-04-04 07:12:56 UTC (rev 593)
@@ -27,9 +27,7 @@
DOCTYPE("HTML", "Transitional");
echo "<html><head>\n";
-echo "<title>";
-TRANSLATE("WWW translation");
-echo "</title>";
+TITLE("WWW translation");
echo "<meta name=\"description\" content=\"";
TRANSLATE("Help translating this webpage.");
echo "\">";
@@ -45,7 +43,7 @@
W("Destination language: ");
W($lang);
P();
-echo "<form action=\"" . $i18nHTMLbase . "commitTranslation.php\">\n";
+echo "<form method=\"POST\" action=\"" . $i18nHTMLbase .
"commitTranslation.php\">\n";
echo "<input type=hidden name=\"text\" value=\"" . urlencode($text) . "\">\n";
echo "<input type=hidden name=\"xlang\" value=\"$xlang\">\n";
echo "<input type=hidden name=\"back\" value=\"$back\">\n";
@@ -93,9 +91,9 @@
printf("<tr><td>%s</td><td><a href=\"" . $i18nHTMLbase .
"vote.php?xlang=%s&text=%s&translation=%s\">%s</a></td></tr>\n",
W_($row["lang"]),
urlencode($row["lang"]),
- urlencode($text),
- $translation,
- urldecode($translation));
+ $u,
+ urlencode(from_unicode($translation)),
+ fix(from_unicode($translation)));
}
echo "</table>";
@@ -121,4 +119,4 @@
generateFooter();
echo "</body></html>";
-?>
\ No newline at end of file
+?>
Modified: GNUnet-docs/WWW/vote.php
===================================================================
--- GNUnet-docs/WWW/vote.php 2005-04-04 07:12:19 UTC (rev 592)
+++ GNUnet-docs/WWW/vote.php 2005-04-04 07:12:56 UTC (rev 593)
@@ -1,6 +1,6 @@
<?php
/*
- (C) 2003, 2004 Christian Grothoff
+ (C) 2003, 2004, 2005 Christian Grothoff
This code is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -21,17 +21,18 @@
// For sentences with multiple translations, the one with the most
// votes is displayed.
include("i18nhtml.inc");
-echo "<html><head><title>";
-W("WWW translation: vote");
-echo "</title></head><body>";
+echo "<html><head>";
+echo "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" >";
+TITLE("WWW translation: vote");
+echo "</head><body>";
if (!$connection) {
echo "Database is down. Cannot edit translations.";
die();
}
$text = $_REQUEST['text'];
$translation = $_REQUEST['translation'];
-$u = urlencode($text);
-$t = urlencode($translation);
+$u = mysql_real_escape_string($text);
+$t = mysql_real_escape_string(to_unicode($translation));
echo "text = " . $text . "<br>\n";
echo "translation = " . $translation . "<br>\n";
Modified: doodle-docs/WWW/index.php
===================================================================
--- doodle-docs/WWW/index.php 2005-04-04 07:12:19 UTC (rev 592)
+++ doodle-docs/WWW/index.php 2005-04-04 07:12:56 UTC (rev 593)
@@ -2,67 +2,198 @@
include("i18nhtml.inc");
DOCTYPE("HTML", "Transitional");
echo "<html><head>\n";
-TITLE("i18nHTML - enabling collaborative webpage translation");
-echo "<meta name=\"description\" content=\"";
-TRANSLATE("i18nHTML is a collection of PHP scripts that allow visitors of a
webpage to help translating it.");
-echo "\">";
+if ($title) {
+ echo "<title>";
+ TRANSLATE("Doodle: find information on your computer");
+ echo "</title>";
+ }
+if ($description) {
+ echo "<meta name=\"description\" content=\"";
+ TRANSLATE("A tool to index and search the files on your disk.");
+ echo "\">";
+ }
+echo "<meta name=\"content-language\" content=\"" .
+ $languagecodes[$lang] . "\">";
+echo "<meta name=\"language\" content=\"" .
+ $languagecodes[$lang] . "\">";
?>
<meta name="author" content="Christian Grothoff">
-<meta name="keywords"
content="i18n,HTML,PHP,translation,languages,mysql,database,internationalization,www,free,GNU,GPL">
+<meta name="keywords"
content="doodle,desktop,search,suffix,tree,meta,data,libextractor,keywords,fam,index,database,free,Linux,GNU,GPL">
<meta name="robots" content="index,follow">
<meta name="revisit-after" content="28 days">
<meta name="publisher" content="Christian Grothoff">
-<meta name="date" content="2005-01-03">
-<meta name="rights" content="(C) 2004,2005 by Christian Grothoff>";
+<meta name="date" content="2004-12-31">
+<meta name="rights" content="(C) 2004 by Christian Grothoff>";
<meta http-equiv="expires" content="43200">
<meta http-equiv="content-type" content="text/html">
</head>
<body>
<?php
generateLanguageBar();
-H1("i18nHTML");
+
+H1("Doodle");
+ANCHOR("about");
H2("About");
-W("i18nHTML is a collection of PHP files that can be used to write webpages
that visitors can translate into their respective native languages.");
-W("i18nHTML uses a database to match sentences from the webpage against
translations.");
-W("i18nHTML defines a set of PHP functions that generate either the translated
HTML sentences or the original (typically English) text with decorations that
allow users to provide translations.");
-W("i18nHTML requires the internationalized webpages to be written using the
provided PHP functions but does not constrain the page design in any way.");
-W("Webpages internationalized with i18nHTML can be updated without loosing
existing translations for sentences that were not changed.");
-W("Note that it is important that you use the i18nHTML <tt>TITLE</tt> command
in your documents in order to ensure that the character set and other meta-data
is set properly.");
+
+W("Doodle is a tool to quickly search the documents on a computer.");
+W("Doodle builds an index using meta-data contained in the documents and
allows fast searches on the resulting database.");
+W("Doodle uses %s to support obtaining meta-data from various file-formats.",
+ extlink_("/libextractor/","libextractor"));
+W("The database used by doodle is a %s, resulting in fast lookups.",
+ extlink_("http://www.nist.gov/dads/HTML/suffixtree.html","suffix tree"));
+W("Doodle supports approximate searches.");
+BR();
+W("Features that Doodle does not have at the moment include:");
+echo "<ul>";
+LI("A web interface");
+LI("Ordering of search results");
+LI("Spidering (indexing the Internet or websites)");
+echo "</ul>";
+W("If you need these features, have a look at the %s section.",
+ extlink_("#links", "links"));
+
P();
+W("Doodle is licensed under the %s.",
+ extlink_("http://www.gnu.org/licenses/gpl.html","GNU GPL"));
+W("Indexing large volumes can take several hundred MBs of memory (depending on
the amount of meta-data found).");
+W("Searching should nevertheless require almost no memory.");
+W("Using the latest version of libextractor is recommended.");
+W("Doodle has so far only been tested under %s and %s %s %s.",
+ ARRAY(extlink_("http://www.debian.org/", "Debian"),
+ extlink_("http://www.redhat.com/", "RedHat"),
+ extlink_("http://www.gnu.org/", "GNU"),
+ extlink_("http://www.linux.org/", "Linux")));
+W("Doodle is expected it to work under any platform supported by %s.",
+ extlink_("/libextractor/", "libextractor"));
+P();
+
+ANCHOR("download");
H2("Download");
-W("You can find the latest version %s.",
- extlink_("https://gnunet.org/i18nHTML/download/", "here"));
-W("The latest CVS version can be obtained using");
-PRE("$ svn checkout https://gnunet.org/svn/i18nHTML/");
+W("You can find the current release %s.",
+ extlink_("download/doodle-0.6.2.tar.gz", "here"));
+W("Man-pages for %s, %s and %s are also on-line.",
+ ARRAY(extlink_("man/doodle.html", "doodle"),
+ extlink_("man/doodled.html", "doodled"),
+ extlink_("man/libdoodle", "libdoodle")));
+
+W("The latest version can be obtained using");
+PRE("$ svn checkout https://gnunet.org/svn/doodle/");
P();
W("If you want to be notified about updates, subscribe to %s",
- extlink_("http://freshmeat.net/projects/i18nHTML/", "i18nHTML on
freshmeat"));
+ extlink_("http://freshmeat.net/projects/doodle/", "doodle on freshmeat"));
P();
+W("Debian packages provided by Daniel Baumann can be found %s.",
+ extlink_("http://packages.debian.org/doodle", "here"));
+W("RedHat/Fedora RPM packages provided by Dag Wieers can be found %s.",
+ extlink_("http://dag.wieers.com/packages/doodle/","here"));
+P();
+ANCHOR("using");
+H2("Using doodle");
+W("First the doodle database needs to be created.");
+W("The simplest way to create the database is to run doodle with the
<tt>-b</tt> option on the directories that are to be indexed.");
+W("For example:");
+PRE("$ doodle -b $HOME");
+W("This will create the doodle database under <tt>~/.doodle</tt>.");
+BR();
+W("After creating the doodle database, you can search it.");
+W("For example:");
+PRE("$ doodle keyword");
+BR();
+H3("Keeping the database up-to-date");
+W("If you want to keep your doodle database up-to-date, you can either
periodically re-run doodle with the <tt>-b</tt> option, or you can use doodled,
the doodle daemon.");
+W("doodled uses %s to notice whenever a file is changed and instantly updates
the doodle database.",
+ "fam");
+W("In order to use doodled, you must have famd running.");
+W("If famd is running, you can start doodled by passing the same arguments
that you would pass to doodle to construct the database, but without the
<tt>-b</tt> option:");
+PRE("$ doodled $HOME");
+W("You can also use doodled to construct the initial database.");
+W("While doodled is updating the database, any doodle search will block until
the update is complete.");
+W("Note that while you may want to index your entire disk (i.e., <tt>doodle -b
/</tt>), it is typically not a great idea to have doodled monitor your entire
system for changes -- especially since <tt>/usr</tt> is unlikely to change
frequently.");
+W("You can address this issue by first indexing <tt>/</tt> and then using
doodled to monitor only directories that change frequently:");
+PRE("$ doodle -b /\n" .
+ "$ doodled $HOME");
+W("This way, your entire system will be in the index, and your home directory
will be always up-to-date.");
+P();
+H3("Full-text search");
+W("You can achieve a (limited) form of full-text search with doodle.");
+W("For that, the dictionary-based plaintext extractors from %s are used.",
+ extlink_("/libextractor/","libextractor"));
+W("In order to use them, you need to pass the option <tt>-b LANG</tt> to
doodle.");
+W("LANG is a two letter language code that selects the dictionary.");
+W("Available languages at the moment are en, es, fr, it and no.");
+W("Words and sentences that are available in the respective dictionaries for
these languages will then be added to the index.");
+W("While libextractor attempts to avoid full-text extraction for certain kown
binary formats, it may still find words in non-text files.");
+W("Running with this option will dramatically increase the size of the index
and the time it takes to build the index.");
+W("Note that if you change the options used to build a database will not (!)
result in doodle re-indexing files that were processed with other options
previously.");
+W("The only way to force doodle to re-index files with different options is to
either touch the files (change modification timestamp) or to delete the old
database and start from scratch.");
+P();
+H3("Hints of the system administrator");
+W("If you are the system administrator, you might want to run doodle on the
entire system periodically (cron job) and have doodled monitor the home
directories in the background.");
+W("In that case, it is suggested to have the doodle database be group-readable
for a group doodle.");
+W("Set the permissions for the doodle binary to SGID to allow users to poll
the database.");
+W("Doodle will ensure that information about files not accessible to the user
are not leaked by checking if files found in the database are accessible to the
user.");
+W("doodled has to run as root since otherwise it would be impossible to index
the personal files of all users.");
+W("If that it too risky, doodled will still work, but only index the files
readable to the user that runs doodled.");
+
P();
-if ( ($xlang) && ($xlang != "English")) {
- H2("Mass translation");
- W("The mass-translation page for translating many sentences at once is %s.",
- intlink_("editor.php", "here"));
- W("Note that the sentence database is shared with the %s, %s and %s
projects.",
- ARRAY(extlink_("http://gnunet.org/", "GNUnet"),
- extlink_("http://gnunet.org/doodle/", "doodle"),
- extlink_("http://gnunet.org/libextractor/", "libExtractor")));
- }
+H3("Using different options for different directories");
+W("You can build a database from multiple doodle runs over distinct sets of
files with different options.");
+W("For example, the following can make sense:");
+PRE("$ doodle -B en -b /usr/share/doc # full-text index over documentation\n" .
+ "$ doodle -b /usr /opt /bin /lib # normal index over other system files\n"
.
+ "$ doodled -B en /home # monitor /home, with full-text support\n");
+W("A simple doodle search will then find files in all listed directories.");
+W("You can also build multiple disjoint databases and search all of them in
one run (see %s for option <tt>-d</tt>).",
+ extlink_("man/doodle.html", "doodle"));
+P();
+ANCHOR("mantis");
H2("Bugtrack");
-W("i18nHTML uses Mantis for bugtracking.");
+W("Doodle uses Mantis for bugtracking.");
W("Visit %s to report bugs.",
extlink_("https://gnunet.org/mantis/","https://gnunet.org/mantis/"));
W("You need to sign up for a reporter account.");
-W("Please make sure you report bugs under <strong>I18nHTML</strong> and not
under any of the other projects.");
+W("Please make sure you report bugs under <strong>Doodle</strong> and not
under any of the other projects.");
P();
-W("If you dislike Mantis and need to report a bug contact %s via e-mail (good
luck getting by the spam-filter).",
+W("If you dislike Mantis and need to report a bug contact %s via e-mail.",
extlink_("mailto:address@hidden","address@hidden"));
+
+ANCHOR("links");
+H2("Links");
+echo "<ul>";
+LI(extlink_("http://members.cox.net/sinzui/medusa/",
+ "Medusa, similar project for Gnome"));
+LI(extlink_("http://swish-e.org/",
+ "Swish-e, indexing tool with focus on the WWW"));
+LI(extlink_("http://www.gnome.org/~seth/storage/",
+ "GNOME Storage"));
+LI(extlink_("http://www.gnome.org/projects/beagle/",
+ "Beagle"));
+LI(extlink_("http://sourceforge.net/projects/rlocate/",
+ "rlocate, version of locate that is always up-to-date"));
+LI(extlink_("http://www.htdig.org/",
+ "HTDig"));
+LI(extlink_("http://jakarta.apache.org/lucene/",
+ "Lucene"));
+LI(extlink_("http://homepage.mac.com/pauljlucas/software/swish/",
+ "Swish++"));
+LI(extlink_("http://webglimpse.net/",
+ "Glimpse"));
+LI(extlink_("http://evidence.sf.net/",
+ "Evidence, file-manager with support for doodle"));
+LI(extlink_("http://www.linux-magazin.de/Artikel/ausgabe/2004/09/bgw/bgw.html",
+ "Article about doodle (and other things) in the German
Linux-Magazin"));
+echo "</ul>";
HR();
+echo "<address><a href=\"mailto:address@hidden">Christian
Grothoff</a></address>";
+PRE("Copyright (C) 2004 Christian Grothoff.\n" .
+ "Verbatim copying and distribution of this entire article\n" .
+ "is permitted in any medium, provided this notice is preserved.");
+BR();
generateFooter();
echo "</body></html>\n";
?>
Added: i18nHTML-docs/WWW/download/i18nHTML-0.1.0.tar.bz2
===================================================================
(Binary files differ)
Property changes on: i18nHTML-docs/WWW/download/i18nHTML-0.1.0.tar.bz2
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: i18nHTML-docs/WWW/download/i18nHTML-0.1.0.tar.gz
===================================================================
(Binary files differ)
Property changes on: i18nHTML-docs/WWW/download/i18nHTML-0.1.0.tar.gz
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: i18nHTML-docs/WWW/index.php
===================================================================
--- i18nHTML-docs/WWW/index.php 2005-04-04 07:12:19 UTC (rev 592)
+++ i18nHTML-docs/WWW/index.php 2005-04-04 07:12:56 UTC (rev 593)
@@ -29,10 +29,27 @@
W("Webpages internationalized with i18nHTML can be updated without loosing
existing translations for sentences that were not changed.");
W("Note that it is important that you use the i18nHTML <tt>TITLE</tt> command
in your documents in order to ensure that the character set and other meta-data
is set properly.");
P();
+H2("News");
+H3("i18nHTML 0.1.0 released");
+W("i18nHTML 0.1.0 is expected to solve various character set encoding
issues.");
+W("It also ensures that all entered translations match the original sentence
in the number of escape sequences.");
+W("The new version also resolves various minor bugs (such as editor mode only
working with php-register-globals enabled).");
+P();
+W("Upgrading from i18nHTML 0.0.2 to 0.1.0 requires changes to the encoding of
strings in the database (which is now hopefully properly based on unicode).");
+W("This can be done by running the update.php script and feeding the SQL
statements that update.php generates into MySQL.");
+W("Running <tt>update.php</tt> by itself will not do the data conversion (for
security reasons).");
+W("You should backup your old translation database first.");
+W("mysqldump should be useful here.");
+W("Note that <tt>update.php</tt> may discard translations that it believes
have serious character set (or other) problems.");
+W("The total number of discarded translations can be found at the end of the
output (in a generated comment).");
+P();
+W("Another important step in upgrading from 0.0.2 to 0.1.0 is to use the new
<tt>TITLE</tt> function to generate the title of all webpages.");
+W("The reason is that the <tt>TITLE</tt> function will generate other HTML
tags that should be placed in the HTML header to help ensure that the browser
picks up the character encodings correctly.");
+P();
H2("Download");
W("You can find the latest version %s.",
extlink_("https://gnunet.org/i18nHTML/download/", "here"));
-W("The latest CVS version can be obtained using");
+W("The latest SVN version can be obtained using");
PRE("$ svn checkout https://gnunet.org/svn/i18nHTML/");
P();
W("If you want to be notified about updates, subscribe to %s",
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r593 - GNUnet-docs/WWW GNUnet-docs/WWW/gnu.org doodle-docs/WWW i18nHTML-docs/WWW i18nHTML-docs/WWW/download,
grothoff <=