Wikiotics ist eine Website zum Erlernen einer Fremdsprache.
Das Wikiotics -Projekt wurde 2008 mit dem Ziel gegründet, ein frei lizenziertes Wiki zu schaffen, bei dem Menschen an Materialien für Sprachlernende zusammenarbeiten konnten. Als Teil davon haben wir einen Wiki -Engine namens Ductus erstellt, der einen Rahmen für den Aufbau interaktiver Wiki -Seiten aus strukturierten Inhalten stellte, die aus dem Webbrowser bearbeitet werden. Im Jahr 2011 schloss sich Wikiotics mit dem Wikibabel -Projekt zusammen, einem Projekt mit einer ähnlichen Vision, deren Entwickler weiterhin zu Wikiotika beigetragen hat. Einige Jahre später haben wir das Interesse an der Aufrechterhaltung der Ductus verloren und uns mit anderen Aktivitäten beschäftigt.
Ab Juli 2020 wurde Wikiotics zu einem statischen Standort übertragen. Während es sich um ein Wiki handelte, erhielt Wikiotics.org Beiträge von 62 angemeldeten Benutzern sowie anonyme Benutzer, die nur anhand ihrer IP-Adresse identifiziert wurden. Es gab insgesamt 4064 solche Beiträge, von denen jedes in diesem Repository ein entsprechendes Commit enthält (Pull Request Nr. 4). Dieses Repository ist so konzipiert, dass sie als Arbeitsarchiv der Arbeit der Gemeinschaft dienen. Die Entwicklung neuer Inhalte ist ebenfalls möglich, da ausreichend Interesse ist.
Der Inhalt ist ein bisschen ein Chaos, wie es von einem Repository erwartet werden könnte, das von irgendjemandem auf der Welt ohne Mäßigung bearbeitbar war. Darüber hinaus bestand der einzige wirkliche Weg, um einen funktionierenden Entwurf einer Lektion zu sehen, es dem Wiki zu retten.
Der erste Schritt nach vorne besteht darin, den Inhalt aufzuräumen. Lektionen und Seiten, die nicht nützlich sind, sollten gelöscht werden. (Sie bleiben in der Git -Geschichte, wenn wir sie jemals verweisen möchten.) Jede noch nicht nützliche Lehre, die noch nicht nützlich ist, kann mit draft = true
markiert und somit vor der Hauptwebsite versteckt. Wenn mehrere Kopien des gleichen Inhalts konsolidiert sind, sollte ein Alias an allen alten Ort (en) zurückgelassen werden, da wir dem Prinzip, dass sich coole URIs nicht ändern.
Jeder, der zum Wiki beigetragen hat und ein Konto auf Github hat, kann ihre Beiträge geltend machen, indem er eine Pull -Anfrage einreicht, die in diesem Repository einen entsprechenden Eintrag zur .mailmap
-Datei hinzufügt. Dieser Eintrag sollte [email protected]
auf eine E -Mail -Adresse zuordnen, die dem Github -Konto der Person zugeordnet ist (oder alternativ die Adresse [email protected]
).
Wenn Sie auf diese Weise Beiträge beanspruchen, bedeutet dies, dass das Profil des Benutzers im GitHub -Verlauf einer Seite verknüpft ist, zu der die Person beigetragen hat (Beispiel hier). Im Moment scheint es leider die Beiträge der Beiträge nicht in der Datei .mailmap
zu berücksichtigen. Dies steht im Widerspruch zu einem Bericht über den Stapelüberlauf, hängt jedoch wahrscheinlich mit dieser Diskussion über Githubs Diskursinstanz zusammen. Interessanterweise zeigt die FASTHUB-LIBRE-App die Beiträge in ihrer Gesamtheit korrekt an.
Wikiotics ist jetzt eine statische Stelle, die mit Hugo gebaut wurde. Die folgenden Schritte ermöglichen es, es lokal zu bearbeiten:
Installieren Sie Hugo.
Auf Ubuntu ist das so einfach wie
$ sudo snap install hugo --channel=extended
Derzeit ist die "erweiterte" Version nicht erforderlich, aber wir können in Zukunft mit ihren Merkmalen experimentieren.
Klonen Sie dieses Repository:
$ git clone https://github.com/wikiotics/wikiotics.org.git
Starten Sie den Hugo Development Server und weisen Sie einen Webbrowser auf die bereitgestellte URL hin:
$ cd wikiotics.org
$ hugo server
[...]
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop
Der Inhalt befindet sich im content/
Verzeichnis. Beim Speichern einer Inhaltsdatei sollte der Webbrowser automatisch mit dem aktualisierten Inhalt aktualisiert werden.
Jede Lektion wird ausschließlich durch Toml Front Materie dargestellt, die zwischen Linien enthalten ist, die +++
sagen. Wenn Sie eine Lektion bearbeiten, besteht ein Tipp darin, grid = true
in seiner Front Materie vorübergehend festzulegen, wodurch die Elemente der Lektion als Tabelle angezeigt werden. Dies kann nützlich sein, um eine globale Sicht auf die Lektion zu erhalten. Lektionen, für die draft = true
auch als Netz angezeigt wird (dh, wenn Entwürfe aktiviert sind).
Jede Lektion kann mit der Sprache, die sie unterrichtet, und gegebenenfalls der Sprache, die der Lernende kennt, mit Annotation versehen werden, indem sie target-languages
und/oder source-languages
in der Frontmunde der Lektion festlegen, um den Standarddefinitionen dieser Begriffe zu folgen. Hinter den Kulissen sind diese Anmerkungen Fälle von Hugo -Taxonomien.
Das Wiki -Namensschema (für URLs/Routen) wird in Nr. 12 diskutiert. Wir planen auch, die TOML -Datenstrukturen für den Unterricht zu dokumentieren und zu verbessern (#10).
Die derzeit höchste Priorität ist die Verbesserung der Präsentation des Standortarchivs.
Das Hinzufügen neuer Lektionsmedien würde derzeit Änderungen mit dem Wikiotics Media -Repository koordinieren. Es werden zwei Alternativen berücksichtigt: Git Large Dateispeicher und IPFs (Details in #15).
Alle Inhalte (dh alles im content/
Verzeichnis, rekursiv) sind unter der Lizenz für Creative Commons Attribution-Sharealike 3.0 lizenziert. Einige der Lektionsmedien (in diesem Repository nicht enthalten sind) sind unter einer anderen (aber kostenlosen) Creative Commons -Lizenz verfügbar. Alles andere (z. B. All Code) ist unter der GNU General Public Lizenzversion 3 oder einer späteren Version verfügbar. Einige der Bibliotheken in {assets,static}/ductus/
sind unter freizügigeren Lizenzen verfügbar.
Wir möchten die Dinge einfach halten und jahrelang einen ziemlich komplizierten Technologiestapel haben. (Noch zuvor haben wir es geschafft, viele der Exzesse der modernen Frontendentwicklung zu vermeiden.) Die einfache Aufrechterhaltung der Dinge hilft, den Busfaktor zu maximieren und die Zeit zu minimieren, die die Website aufrechterhalten. Es sollte keine oder nur wenigen beweglichen Teile und im Idealfall keinen Server zur Verfügung stellen.
Wir bauen auf den folgenden Technologien auf, um unsere Ziele zu erreichen: