

O Amaya
Ściągnij Amaya
Listy mailingowe
Dokumentacja
Osoby wspierające projekt
Amaya jest przede wszystkim narzędziem autorskim z funkcjami przeglądarki. Link
management i remote publishing są podstawowymi funkcjami edytora, które wymagają integracji funkcji edytowaniai i przeglądania.
Amayę można ściągnąć w różnych formatach poprzez ftp lub http:
Istnieje nowy pakiet Fink dla MacOS X: dzięki Damianowi Steer.
Tak, można również pobierać opłaty pod warunkiem, że zachowane są prawa autorskie.
Tak, zachęcamy wszystkich do eksperymentowania z Amayą i ulepszania programu. Może byc również używana w programach komeryjnych. Jeśli usprawnisz program, skontaktuj się z nami. Nie zezwalamy na stosowanie zmian i oznaczanie programu znakiem handlowym, lub na fałszywe określenie jego pochodzenia, możliwości i odpowiedzialności cywilnej związanych z jego używaniem. Można opierać się na stwierdzeniu, że program został oparty o kod Amayi lub, że jest zgodny z rekomendacjami W3C.
C daje dużo korzyści, ponieważ jest bardzo wydajnym językiem. Amaya jest również oparta na bibliotece Thotlib, która również została napisana w C. Kontynuacja tej tradycja była więc rzeczą naturalną.
Część interfejsu jest napisana w C++.
Tak
Domyślnie Amaya działa w języku angielskim i posiada angielską dokumentację. Inne jezyki są również dostępne (francuski, niemiecki, włoski, hiszpański, portugalski, fiński, rosyjski) pod warunkiem, że użytkownik ściągnie dodatkowy plik amayadoc, jak to wyjaśmniono na stronie: http://www.w3.org/Amaya/User/BinDist.html
Dialogue language w menu Edit/Preferences/General określa język w Amayi. Domyślnym jest język angielski- amerykański (wartość en).
Obecnie dostępnych jest jedynie siedem języków: angielski
(en), francuski (fr), niemiecki (de), włoski (it), hiszpański (es), portugalski (pt) i fiński Finnish (fi). Kiedy Amaya się uruchamia, ładuje ona pliki według ustawionego języka: en-, fr-, or de-, it-, es-, pt-, lub fi. Pliki te są ulokowane w folderze Amaya/config.
Pierwszą nazwą edytora/przeglądarki była Tamaya. Tamaya jest drzewem, które występuje w logo. Wybraliśmy tą nazwę, ponieważ mieliśmy takie drzewo w naszym biurze i doszliśmy do wniosku, że może ono zarówno reprezentować obraz sieci jak i strukturę stron internetowych. Niestety nie mogliśmy używać tej nazwy, ponieważ jest ona własnością pewnej francuskiej firmy. Postanowiliśmy więc pozbyć sie pierwszej litery (t) i stąd nazwa Amaya.
Głównym powodem jest to, że Amaya nie może wygenerować folderu operacyjnego.
Poniższa tanbela pokazuje pozycje domyślną folderu w różnych architekturach:
Architektura
|
lokacja folderu AmayaHome
|
Unix and Mac OSX
|
$HOME/.amaya
|
Windows 95/ Windows 98
|
AMAYA-INSTALL-DIR\users\username or,
if the user didn't login to Windows,
AMAYA-INSTALL-DIR\users\default
|
Windows NT/XP
|
$HOMEDRIVE:\$HOMEPATH\amaya
domyślniet c:\Documents and Settings\$user_name\amaya
|
Jeśli lokacja ta nie jest dostępna należy ustawić inną lokację w zmiennej globalnej AMAYA_USER_HOME.
Zmienna ta musi wskazywać na dozwoloną ścieżkę folderu w której Amaya będzie generować swoje pliki i podfoldery.
Na platformie Windows, powinno się ustawić zmienną z System Properties (dostępną z "System" Control Panel lub poprzez My Computer -> Properties context menu) "Advanced" -
Environment Variables.
set AMAYA_USER_HOME=C:\Documents and Settings\XX\Amaya
Nie należy zostawiać spacji koło nazwy zmiennej i jej wartości, jak również ni można używać cudzysłowia.
Na platformie Unix
- Jeśli pojawi się załamanie GDK, można wydać komendę "xset
fp" i spróbować ponownie uruchomić Amayę.
- If all dynamic libraries needed by the executable file amaya are there,
you can launch amaya with strace to see what is wrong
strace /usr/share/Amaya-R.V/wx/bin/amaya
AmayaWX używa OpenGL do przedstawiania stron. Pozwala to na lepsze wsparcie dla
SVG i animacji. Problemem jest to, że Amaya jest zależna od drajwerów karty graficznej. jeśli drajwer jest uszkodzony, Amaya najprowdopodobniej nie będzie działać.
Na platformie Unix, Amaya posiada bibliotekę Mesado implementacji OpenGL
primitives. Mesa jest programem OpenGL dlatego Amaya nie jest zależna od drajwerów karty graficznej na platformie Unix. Jeśli Amaya nie wystartuje lub jest wolna, przyczyną jest coś innego:
Na platformie Windows, Amaya używa hardware OpenGL implementation, dlatego jest zależna od drajwerów karty graficznej. Jeśli Amayanie wystartuje lub jest wolna, proszę wykonać następujące rzeczy:
- Uaktualnić drajwer karty, jeśli jest to możliwe. Aktualizację można znależć na stronie MicroSoft (zobacz skecję drajwerów)
lub na stronie producenta karty.
- Spróbować zwolnić przyśpieszenie karty:
Panneau
de configuration → Affichage →Paramètres → Avancé →
Dépannage
Tak, ale obecna implmentacja MathML 2.0 w Amaya nie jest jeszcze ukończona. Nie implementuje jeszcze części Content MathML 2.0. Dokumentacja wyraźnie wskazuje co jest dostępne. Zobacz sekcję "Znane problemy z MathML".
Amaya została zbudowana jako edytor dokumentów strukturalnych. Podejście to pozwala na obsługę dokumentów złożonych oraz obiektów takich jak tabele, grafikę oraz wyrażenia matematyczne. Podczas edycji w trybie HTML lub XHML, Amaya odziaływuje na drzewo strukturalne dokumentu a nie na jego reprezentację tekstową , która tworzona jest jedynie podczas zabezpieczania dokumentu w wybranej składni (plain text, HTML, XHML).
Amaya pozwala na podgląd źródła dokumentu (Views/Show source) i edycję znaczników. Odbywa się to w oddzielnym pliku , który jest zsynchronizowany. Amaya pokazuje która część danego dokumentu jest formatowana. Można edytować zarówno dokument źródłowy jak i dokument formatowany. Zmiany w którymkolwiek z tych dokumentów są widoczne poprzez komendę File/Synchronize. Synchronizacja jets automatyczna kiedy zmieni się widok.
W Amaya można powiększać i zmniejszać okno dokumentu. Zoom powiękasza lub zmniejsza wszystkie informacje widoczne w danym dokumencie (czcionki, obrazy, etc.).
Komendy zmieniające wielkość widoku zwarte są w opcji Views.
Menu " Edit/Preferences/General" pozwala na zmianę widoku czcionki na stałe. Domyślnie zoom ustawiony jest na 100%. Wartość ta dotyczy jedynie czcionki a nie innych elemetów (obrazy, etc.).
Aby można było wybierać czcionki, Amaya współpracuje z plikiem Font
Configuration. Domyślnie plik ten znajduje się w folderze Amaya/config/:
- Plik
"fonts.unix" jest uzywany przez GTK i wersję Motif
Amayi
- Plik
"fonts.gl" jest używany przez wersję Amayi dla Windows i Linux OpenGL
- Plik
"fonts.win" jest używany przez wersję Amayi Win32
Więcej informacji na temat pliku konfiguracyjnego : http://www.w3.org/Amaya/User/FontConfig.html
Wersje Amaya WX
Amaya WX współpracuje jedynie z czcionkami typu TrueType fonts. Dystrybucje Amaya zawierają czcionki
Esstix (zbiór symboli matematycznych) i darmowy zbiór czcionego TrueType. Kiedy uruchomi się Amayę, szuka ona zainstalowanych czcionek systemowych oraz używa własnych czcionek, jeśli czcionki systemowe nie są dostępne.
Na platformie Unix wersje Amaya WX używają 3 plików konfiguracyjnych, które lokalizują potrzebne czcionki:Amaya/config/fonts.gl, następnie Amaya/config/fonts.gl.rd Oraz Amaya/config/fonts.gl.deb.
Na platformie Windows, wersje Amaya WX używają jednego pliku konfiguracyjnego: Amaya/config/fonts.gl.win.
Wersje GTK Amayi
Aamaya GTK współpracuje z X Font Server (Xft). Niektóre dystrybucje posiadają zainstalowane czcionki i całe pakiety czcionek. W niektórych czcionki muszą zostać zainstalowane.
Jeśli chce się zainstalować czcionki na platformie Linux, należy:
- Ściągnąć i zainstalować czcionki w
/usr/local/share/fonts or
/usr/X11R6/lib/X11/fonts
- instalować komendą "
unzip esstix.zip". Zalecamy folder /usr/local/share/fonts/esstix
- Dodać folder czcionek w pliku konfiguracyjnym Xft:
/etc/X11/XftConfig
...
dir "/usr/local/share/fonts/XXX"
- Dodać folder nowych czcionek we właściwym miejscu w
catalogue pliku /etc/X11/fs/config
Przykład:
catalogue = /usr/local/share/fonts/truetype,
/usr/lib/X11/fonts/misc,
/usr/lib/X11/fonts/cyrillic,
/usr/lib/X11/fonts/75dpi/:unscaled,
/usr/lib/X11/fonts/100dpi/:unscaled,
/usr/X11R6/lib/X11/fonts/misc:unscaled,
/usr/lib/X11/fonts/URW,
/usr/lib/X11/fonts/Type1,
/usr/lib/X11/fonts/CID,
/usr/lib/X11/fonts/Speedo,
/usr/lib/X11/fonts/75dpi,
/usr/lib/X11/fonts/100dpi,
/usr/local/share/fonts/esstix,
/usr/local/share/fonts/japanese
- Następnie wygenerować deskryptory pliku:
fonts.scale,
fonts.dir and XftCache has follows:
cd /usr/local/share/fonts/XXX
ttmkfdir -o fonts.scale
mkfontdir
xftcache
- Ponownie uruchomić serwer czcionek
Czcionki Esstix
Czcionki Esstix Fonts są dostępne (esstix.tar.gz
) na ftp://ftp.elsevier.nl/pub/styles/esstix/esstix.zipesstix.tar.gz
.
- Ściągnij plik esstix.tar.gz
- Zainstaluj je poleceniem "
unzip esstix.zip" lub "tar xzf esstix.tar.gz". Zalecamy instalację w folderze /usr/local/share/fonts/esstix
- Dodaj folder do pliku konfiguracyjnego Xft:
/etc/X11/XftConfig
...
dir "/usr/local/share/fonts/esstix"
- Następnie wygenerować deskryptory pliku:
fonts.scale,
fonts.dir and XftCache has follows:
cd /usr/local/share/fonts/esstix
ttmkfdir -c -m20 -o fonts.scale
mkfontdir
xftcache
- Ponownie uruchomić serwer czcionek.
Wersje Win32 Amayi
Instalacjia czcionek Esstix na platformie Windows
- Ściągnij plik ESSTIX.zip
- Otwórz plik
- Skopiuj czcionki do foldera C:\WINDOWS\Fonts
Można zmienić rozmiar okien a następnie zabezpieczyc zmiany w manu Edit/Preferences/Geometry. Modyfikacje zostaną utracone przy następnej aktualizacji.
Można również zabezpieczyc zmainy automatycznie przy wyjściu a menu: Edit/Preferences/General.
Amaya nie sprawdza poprawności stron HTML. Przyjmuje poprawne i niepoprawnie napisane dokumenty HTML i dynamicznie poprawia błędy. Na przykład: może dodać brakujące znaczniki końcowe oraz przestawić elementy źle umiejscowione.
Kiedy parsuje sie dokumenty XHTML Amaya sprawdza ich format i wykrywa błędy. W takich przypadkach wyświetla wiadomość o błędzie w dokumencie.
W obu przypadkach (dokumentów HTML i XHTML) kiedy Amaya znajdzie znaczniki i atrybuty, których nie zna lub kiedy znajdzie blędy, generuje log, który można przeglądnąć komendą FileShow parsing errors.
Amaya has to cope with existing HTML pages, and very few of them validate
against the HTML DTD. When designing Amaya, we were faced with a difficult
choice:
- Adopt a strict position and reject all invalid pages. Most users would
be very disapointed not to be able to see many pages that other Web
clients can display;
- Accept invalid pages and let Amaya fix the most common bugs.
We chose the latter option and decided that Amaya should try to fix bugs,
but without losing information. If an element is not valid in a given
context, Amaya tries to change the structure locally to make that element
valid, but it doesn't delete the element or move it to a different place,
which could change the document meaning.
The issue is that a DTD only specifies the structure of a document class,
not its semantics. When you consider an invalid document, there are often
several ways to transform its structure to make it valid, but each
transformation may have a different impact on the document semantics. The DTD
does not allow you to choose the right transformation.
Another important design decision that has been made for Amaya is that,
even if it accepts invalid documents, the structure and markup that it
produces is always valid. Obviously, only elements created or changed by
Amaya itself are concerned here. Some invalid parts of the original document
may remain when the document is saved.
The above remarks only apply to HTML documents. For XHTML, Amaya has a
different, very strict behaviour: it stops parsing a
document when it encounters a well-formedness error. The motivation is to
help XHTML to deploy in a clean way. There are no legacy documents to
support.
Tytuł dokumentu, tak jak każdy inny element znacznika head można edytować w widoku struktury dokumentu. Można również skorzystać z dialogu XHTML/Change Title.
Kiedy kursor jest na końcu elementu <pre>, naciśnięcie klawisza Enter tworzy nową linię w znaczniku <pre>. Aby stworzyć inny element, np.: paragraf po znaczniku <pre>, można wykorzystać menu XHTML i wybrać element, który chce się stworzyć.
Innym spsobem jest wybranie całego elementu <pre> klawiszem ESC (Linux) lub F2
(Windows) i naciśnięcie Enter. Tworzy to następny paragraf po elemencie <pre> .
Działa to również z tabelkami. Zaznaczyć całą tabelę i nacisnąć Enter, co stworzy nowy paragraf po tabelce. Można również wciskać Enter aż do momentu wyjścia z tabeli.
Ramki stwarzają wiele problemów w sieci. Linki mogą generować dziwne rezultaty. Stanowią one również problkems dla ludzi niepełnosprawnych i komplikują proces edycji. Niestety ramki są ciągle w użyciu. Zalecamy autrom stron nie stosowanie ramek.
W związku z brakiem personelu, nie zamierzamy implementować takiego wsparcia. Funkcje te są bardziej przydatne w przeglądarkach niż edytorach.
XHTML jest odmianą HTML 4.0 w XML1.0. Dokumenty XHML muszą być poprawnie sformatowane, co nie jest konieczne w przypadku dokumentów HTML. Kiedy parser
XML Expat używany przez Amaya wykrywa błąd w kodzie XHTML, informuje on o błędzie w pliku
"Parsing Errors" i zatrzymuje parsowanie.
Najbardziej powszechne błędy :
- Niezgodna deklaracja dokumentu: typ dokumentu lu nazwa przestrzeni nie jest ropoznawalna.
- Brak końcowego znacznika lub początkowy element nie zawiera "/".
- Wartość atrybutu nie jest w cudzysłowiu .
- Dokument zawiera znaki, które nie odpowiadają zbiorowi charset dokumentu.
Zalecamy aby deklarować zbiór znaków dokumentu. Mozna to zrobić w deklaracji xml lub znaczniku meta
dokumentów XHTML (zobacz poniższy przykład).
<?xml version="1.0" encoding="iso-8859-1"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
....
</head>
Domyśly zbiór znaków dokumentu HTML jest inny niż w dokumencie XHTML, co powoduje, że autorzy tworzą dokumenty ISO-latin-1 XHTML, które nie zawierają informacji na temat zbioru znaków dokumentu. Kiedy parser XML znajdzie znak nie pasujący do UTF 8 (co powinno się wydarzyc jeśli dokument ma kodowanie ISO-latin-1 ),
dokument zostanie uznany za niepoprawny; parsowanie zostanie wstrzymane i pojawi się wiadomość o błędzie.
Wsparcie dla Unicode nie jest jeszcze ukończone. W zależnościu od rodzaju czcionek, niektóre znaki mogą nie zostac wyświetlone. Niedostępne znaki są wyświetlane w małych okienkach.
Amaya wspiera arkusze CSS ale implementacja nie jest jeszcze w pełni ukończona. Dostępnych jest wiele selektorów i właściwości. Każde nowe wydanie posiada nowe funkcje CSS. Sprawdź status implementacji CSS w obecnym wydaniu.
Amaya wspiera remote publishing prz użyciu metody HTTP PUT. Obecnie Amaya nie może ściagać plików przy użyciu FTP. Jeśli używa się serwera Apache można zastosować mod_put
module, co umożliwi wsparcie dla metody PUT.
W Apache 2, the mod_put module nie działa, dlatego nalęzy zainstalować i aktywować moduł WebDav :
Aby uruchomić mod_dav, dodaj następujący kod do pliku httpd.conf :
<Directory />
Dav On
....
</Directory>
Uaktywni to plik DAV , który jets wdrożony w moduł
mod_dav_fs.
Moduł ten musi buyć wkompilowany w serwer lub załadowany w czasie rzeczywistym dyrektywą
LoadModule
.
W dodatku, lokacja DAV lock database musi być sprecyzowana w sekcji globalnej pliku httpd.conf przy użyciu dyrektywy DavLockDB
:
....
# This is the configuration we experimented to publish on a Web server
# you must take particular care to assure that your server is secure before enabling mod_dav.
<IfModule mod_dav_fs.c>
# Location of the WebDAV lock database.
DAVLockDB /var/lib/dav/lockdb
DAVMinTimeout 600
</IfModule>
....
Więcej informacji w dokumentacji Apache
(/var/www/manual/mod/mod_dav.html.en)
Amaya provides a $Date feature. When saving a file Amaya inserts the
current date wherever it encounters a text "date:" between
two '$' or special comments. The XHTML/Insert time stamp menu entry
allows you to generate this date at the current position in the document.
The format of the generated date depends on a Amaya configuration
variable.
ISO_DATE=Yes (default value) generates "YYYY-MM-DD"
YYYY = The year as a decimal number including the century.
MM = The month as a decimal number (range 01 to 12).
DD = The day of the month as a decimal number (range 01 to 31).
ISO_DATE=No generates "DD-MM-YYYY"
DD = The day of the month as a decimal number (range 01 to 31).
MM = The month as a decimal number (range 01 to 12).
YYYY = The year as a decimal number including the century.
Aby zmienić lub rozszerzyć Amaya, należy przeczytać następującą dokumentację:
Błąd ten pojawia się kiedy zapomniało sie stworzyć object subtree przed uruchomieniem procesu konfiguracji. Jak wyjaśniono na stronie Autoconf, należy wpierw stworzyć subtree (obj lub inna nazwa) dla kodu obiektu i uruchomić konfigurację aby stworzyć Makefile(s):
cd Amaya
mkdir obj
cd obj
../configure
Kompilatory Thot potzrebują cpp preprocessor:
- Używając narzędzi GNU, configure powinien przywołać kompilator gcc z odpowiednimi opcjami. Można sprawdzić czy opcje pliku zawierają the
następującą definicję:
CPP = gcc -E -x c
- w przeciwnym wypadku należy upewnic się czy cpp
preprocessor ma właściwą PATH.
Najnowsze wersje Amaya działają dobrze z GTK, ale dla wersji Motif
potrzebne jest zainstalowanie bibliotek aby można było skompilować
Amaya.
Standardowe w środowisku Gnome, na pewno śa one zawarte w dystrybucji, którą posiadasz: :
| Library name |
Debian |
Mandrake, Redhat or Suse |
| libglib1.2 |
libglib1.2_1.2.x_i386.deb |
glib-1.2.x-1.i386.rpm |
| libgtk1.2 |
libgtk1.2_1.2.x-1_i386.deb |
gtk+-1.2.x-1.i386.rpm |
Aby sprawdzić czy są one zainstalowane, spróbuj następującej komendy:
#locate libgtk
#locate libglib
Kiedy biblioteki są zainstalowane potrzebny będzie jeszcze developpement
package zawierający headers oraz static libs
| Library name |
Debian |
Mandrake, Redhat or Suse |
| libglib1.2-devel |
libglib1.2-devel.x_i386.deb |
glib-1.2-devel..x-1.i386.rpm |
| libglib1.2-devel |
libgtk1.2-devel.x_i386.deb |
gtk+-1.2-devel..x-1.i386.rpm |
Aby sprawdzić czy są one zainstalowane, spróbuj następującej komendy:
#locate gtk.h
#locate glib.h
Nie próbuj kompilować lub urtuchamiać z wersją 1.3 GTK, nie będzie działać
(chybaże umieści się Amaya w GTK 2.0 )
Gdzie ściągnąć biblioteki ?
Niektóre platformy posiadają inne wersje autoconf i libtool. Jeśli zobaczysz wiadomość:
libtool: ltconfig version '' does not match ltmain.sh version '1.3.4'
Fatal configuration error. See the libtool docs for more information.
Uruchom następujące w folderze Amaya i
libwww :
aclocal \
&& libtoolize --force --copy \
&& automake --foreign --force-missing --add-missing --copy \
&& autoconf
Podziękowania dla Maxim Zakharov'a za tą wskazówkę.
Domyślna wersja shell make jest najprawdopodobniej za stara. Użyj bash w folderze kompilacyjnym w następujący sposób:
make SHELL=/path/to/your/bash

Irène Vatton
Date: 2007-03-20