Difference between revisions of "Wiki gloss plug-in"

From Mi'gmaq Wiki
Jump to navigation Jump to search
 
(25 intermediate revisions by the same user not shown)
Line 17: Line 17:
 
<pre>
 
<pre>
 
<gl ...arguments...>
 
<gl ...arguments...>
\gll --text--
+
\gll ...text...
--gloss--
+
...gloss...
\trans --translation--
+
\trans ...translation...
 
</gl>
 
</gl>
 
</pre>
 
</pre>
Line 25: Line 25:
 
<pre>
 
<pre>
 
<gl id="ex1">
 
<gl id="ex1">
ego sum laetus
+
\gll ela'l-ul magasan-g
\gll ego sum laetus
+
bring-1>2  store-LOC
PRO VERB-1 ADJ
+
\trans I'm bringing you to the store.
\trans I am happy
 
 
</gl>
 
</gl>
 
</pre>
 
</pre>
 
which produces the following block:
 
which produces the following block:
 
<gl id="ex1">
 
<gl id="ex1">
ego sum laetus
+
\gll ela'l-ul magasan-g
\gll ego sum laetus
+
bring-1>2  store-LOC
PRO VERB-1 ADJ
+
\trans I'm bringing you to the store.
\trans I am happy
+
</gl>
 +
 
 +
A fourth line can be added above the parsed line:
 +
 
 +
<gl id="ex2">
 +
ela'lul magasang
 +
\gll ela'l-ul magasan-g
 +
bring-1>2  store-LOC
 +
\trans I'm bringing you to the store.
 
</gl>
 
</gl>
  
 
== Numbering and references ==
 
== Numbering and references ==
Notice that the example block above was automatically numbered.  This number is inserted and autoincrements.  As a result, the next block will receive the number 2.
+
Notice that the example blocks above were automatically numbered.  This number is inserted and auto-increments.  As a result, the next block will receive the number 3.
<gl id="ex2">
+
<gl id="ex3">
This is our second example, though we've used the same text.
+
\gll Piel amalga-t
ego sum laetus
+
Piel dance-3SG
\gll ego sum laetus
+
\trans Piel dances.
PRO VERB-1 ADJ
 
\trans I am happy
 
 
</gl>
 
</gl>
 
Beyond giving some structure to the blocks themselves, you can easily create hyperlinked references to specific GL elements by using the GL reference element <pre><glr id="...gl element id..."/></pre>.  So, we can reference the example above using  
 
Beyond giving some structure to the blocks themselves, you can easily create hyperlinked references to specific GL elements by using the GL reference element <pre><glr id="...gl element id..."/></pre>.  So, we can reference the example above using  
<pre><glr id="ex2"/></pre>
+
<pre><glr id="ex3"/></pre>
 
which generates this: <glr id="ex2"/>.
 
which generates this: <glr id="ex2"/>.
  
Line 61: Line 66:
 
== Spacing ==
 
== Spacing ==
 
The number of spaces inserted between words in the GL element can be adjusted by using the parameter ''margin''.  Thus, we can render the same content with different spacings (for readability, for example), as follows:
 
The number of spaces inserted between words in the GL element can be adjusted by using the parameter ''margin''.  Thus, we can render the same content with different spacings (for readability, for example), as follows:
<gl glmargin=2>
 
Here margin = 2 (this is the default value)
 
ego sum laetus
 
\gll ego sum laetus
 
PRO VERB-1 ADJ
 
\trans I am happy
 
</gl>
 
<gl margin="5">
 
Here margin = 5
 
ego sum laetus
 
\gll ego sum laetus
 
PRO VERB-1 ADJ
 
\trans I am happy
 
</gl>
 
  
== Font size ==
+
<pre>
The size of the font used inside of the GL element can be set using the parameter ''fontsize''.  By default, the fontsize is 15.  Here is the same content as above, rendered in font size 12.
+
<gl margin=2 id="ex4">
<gl fontsize=12>
+
\gll Mali newti-al-asi-t     
ego sum laetus
+
Mali one-around-move-3sg 
\gll ego sum laetus
+
\trans Mali wanders around alone.
PRO VERB-1 ADJ
 
\trans I am happy
 
 
</gl>
 
</gl>
 
== Known issues ==
 
 
=== Unicode string handling ===
 
While the GL extension does handle unicode characters, there are some instances where it will incorrectly align strings containings rich unicode characters.  Problematic characters include
 
<pre>
 
  * ɪ́
 
 
</pre>
 
</pre>
When using these characters, the phrase and gloss may not perfectly line up.
 
  
= Examples =
+
This produces <glr id="ex4"/>, where the margin = 2 (this is the default value):
 
+
<gl margin=2 id="ex4">
Eventually, this page will provide documentation on the GLL Extension.  For now, I'm using it to simply illustrate my progress with the extension.  If you look at this page in the Edit view, you'll see how the ''gl'' tag environment is being used to produce the results below.
+
\gll Mali newti-al-asi-t     
 
+
Mali one-around-move-3sg 
Remaining features/issues:
+
\trans Mali wanders around alone.
<ul>
 
  <li> Write better documentation
 
  <li> Add error checking
 
</ul>
 
 
 
== The basic GL block ==
 
 
 
<gl id="test_link">
 
ego sum laetus\\
 
\gll ego sum laetus\\
 
PRO VERB-1 ADJ\\
 
\trans I am happy
 
 
</gl>
 
</gl>
  
== Changing spacing in the GL block ==
+
In <glr id="ex5"/> the margin = 5:
The ''gllmargin'' option changes the number of spaces that are used to separate individual words in the the \gll section.  The default is 2 spaces.  This next block also makes use of the empty token in the gloss.
+
<gl margin=5 id="ex5">
<gl gllmargin="5">
+
\gll Mali newti-al-asi-t     
\gll ego sum laetus\\
+
Mali one-around-move-3sg 
{} VERB-1 ADJ\\
+
\trans Mali wanders around alone.
\trans I am happy
 
 
</gl>
 
</gl>
  
== More blocks ==
+
== Font size ==
Here are a couple more blocks simply to illustrate numbering:
+
The size of the font used inside of the GL element can be set using the parameter ''fontsize''.  By default, the fontsize is 15.  Here is the same content as above, rendered in font size 12.
<gl id="test_link2">
+
<gl fontsize=12>
\gll ego sum laetus\\
+
\gll Piel wenaqwie-t     
PRO VERB-1 ADJ\\
+
Piel jump-3SG   
\trans I am happy
+
\trans Piel jumps
</gl>
 
 
 
<gl id="test_link3">
 
\gll ego sum laetus\\
 
PRONOUN VERB-1 ADJ\\
 
\trans I am happy, this is test link 2
 
 
</gl>
 
</gl>
  
Let me tell you something interesting about example <glr id="ex1"/>. What if I try to tell you something about <glr id="test_link2"/>.... or maybe <glr id="test_link3"/>?
+
== Blank space and grammaticality marks ==
  
<gl id="ex1">
+
As in Latex gloss environments, curly brackets can be inserted in the gloss line in order to line up with unglossed text, such as the square brackets in <glr id="ex6"/>
\gll Jessica escribe ejemplo-s\\
+
<gl id="ex6">
Jessica writes example-PL\\
+
\gll Mali magwtgp [ lpa'tuj-ewei wenju'su'n ] 
\trans Jessica writes examples.
+
Mali eat.3sg.past {} boy-POSS apple {} 
 +
\trans Mali ate the boy's apple.
 
</gl>
 
</gl>
  
<gl>
+
which was created with the following input:
\gll ego sum laetus\\
+
<pre>
PRO VERB-1 ADJ\\
+
<gl id="ex6">
\trans I am happy
+
\gll Mali magwtgp [ lpa'tuj-ewei wenju'su'n ] 
 +
Mali eat.3SG.PST {} boy-POSS apple {} 
 +
\trans Mali ate the boy's apple.
 
</gl>
 
</gl>
 +
</pre>
  
== Restart numbering ==
+
The same can be used to mark examples as ungrammatical or infelicitous, as in <glr id="ex7"/>
The ''renum'' option makes the numbering restart at 1.  This next block should be numbered 1.
+
<gl id="ex7">
<gl gllmargin="5" renum="True">
+
\gll * jinm  ala  mesgilg 
ego sum laetus
+
{} man that  big     
\gll ego sum laetus
+
\trans That man is big.
PRONOUN VERB-1 ADJ
 
\trans I am happy
 
 
</gl>
 
</gl>
  
== Cross-referencing GL blocks ==
+
created with:
Using the <pre><glr id="...">[text]</glr></pre> tag, one can create a linked reference to an existing gl tag.  If the text is omitted, then the number of the referenced tag is used.  Otherwise, the text itself is linked.
+
<pre>
 
+
<gl id="ex7">
<gl>
+
\gll * jinm  ala  mesgilg 
\gll ego sum laetus\\
+
{} man that  big     
PRO VERB-1 ADJ\\
+
\trans That man is big.
\trans I am happy
 
 
</gl>
 
</gl>
 +
</pre>
  
<gl>
+
== Known issues ==
\gll ego sum laetus\\
 
PRO VERB-1 ADJ\\
 
\trans I am happy
 
</gl>
 
  
<gl>
+
=== Unicode string handling ===
\gll ego sum laetus\\
+
While the GL extension does handle unicode characters, there are some instances where it will incorrectly align strings containings rich unicode characters.  When using these characters, the phrase and gloss may not perfectly line up.
PRO VERB-1 ADJ\\
 
\trans I am happy
 
</gl>
 
  
<gl>
+
=== Formatting within GL blocks ===
\gll ego sum laetus\\
+
Currently, it is impossible to use special formatting (e.g. boldface, italics) inside a GL block.
PRO VERB-1 ADJ\\
 
\trans I am happy
 
</gl>
 
 
 
<gl id="test_link3">
 
This is another linked block.
 
\gll ego sum laetus\\
 
PRO VERB-1 ADJ\\
 
\trans I am happy
 
</gl>
 
 
 
<gl>
 
\gll ego sum laetus\\
 
PRO VERB-1 ADJ\\
 
\trans I am happy
 
</gl>
 
 
 
== Setting font size ==
 
The size of the font itself can be set using the ''font_size'' argument.
 
 
 
<gl fontsize=15>
 
\gll ego sum laetus\\
 
PRO VERB-1 ADJ\\
 
\trans I am happy
 
</gl>
 
 
 
== Handling unicode characters ==
 
 
 
<gl>
 
\gll úla úndʒi mɛmɪ́ski:{k,g}ax ulá ɪktɪk\\
 
this his.head is.bigger.than this other\\
 
\trans this head is bigger than the other one
 
</gl>
 

Latest revision as of 18:28, 19 February 2012

Overview

The Gloss extension provides a wiki markup element for linguistic annotations, developed for McGill Field Methods classes by Derek Ruths. The Gloss extension automatically aligns text with glosses, as well as provides auto-numbering and hyper-referencing. It closely follows the form and features of the Latex-based glossing tools, allowing the wiki source text to be easily pasted into Latex documents. This page provides both formal documentation of the extension as well as numerous examples of how the tool is used.

Installing the extension

To install the extension, you must have access to the includes directory of your MediaWiki installation. The installation is a two step procedure.

1. Copy the gloss.php file into the includes directory of your MediaWiki installation

2. Open the LocalSettings.php file in the root directory of your MediaWiki installation. Just below the line

require_once( "$IP/includes/DefaultSettings.php" );

add the line

require_once( "$IP/includes/gloss.php" );

You should now be able to use the Gloss extension in your wiki pages.

Using the extension

The GL element

The Gloss extension allows a wiki editor to automatically align text for interlinear glossing. In this extension, one phrase-gloss-translation entry is entered inside an xml-formatted element

<gl ...arguments...>
\gll ...text...
...gloss...
\trans ...translation...
</gl>

A simple example would be

<gl id="ex1">
\gll ela'l-ul magasan-g 
bring-1>2  store-LOC 
\trans I'm bringing you to the store.
</gl>

which produces the following block:

  1. ela'l-ul   magasan-g    
    bring-1>2  store-LOC    
    'I'm bringing you to the store.'

A fourth line can be added above the parsed line:

  1. ela'lul magasang
    ela'l-ul magasan-g bring-1>2 store-LOC
    'I'm bringing you to the store.'

Numbering and references

Notice that the example blocks above were automatically numbered. This number is inserted and auto-increments. As a result, the next block will receive the number 3.

  1. Piel  amalga-t   
    Piel  dance-3SG  
    'Piel dances.'

Beyond giving some structure to the blocks themselves, you can easily create hyperlinked references to specific GL elements by using the GL reference element

<glr id="...gl element id..."/>

. So, we can reference the example above using

<glr id="ex3"/>

which generates this: (2).

You can reset the numbering for a given GL element by using the GL element header:

<gl renum="true">
...
</gl>

Spacing

The number of spaces inserted between words in the GL element can be adjusted by using the parameter margin. Thus, we can render the same content with different spacings (for readability, for example), as follows:

<gl margin=2 id="ex4">
\gll Mali newti-al-asi-t       
Mali one-around-move-3sg  
\trans Mali wanders around alone.
</gl>

This produces (4), where the margin = 2 (this is the default value):

  1. Mali  newti-al-asi-t         
    Mali  one-around-move-3sg    
    'Mali wanders around alone.'

In (5) the margin = 5:

  1. Mali     newti-al-asi-t               
    Mali     one-around-move-3sg          
    'Mali wanders around alone.'

Font size

The size of the font used inside of the GL element can be set using the parameter fontsize. By default, the fontsize is 15. Here is the same content as above, rendered in font size 12.

  1. Piel  wenaqwie-t    
    Piel  jump-3SG      
    'Piel jumps'

Blank space and grammaticality marks

As in Latex gloss environments, curly brackets can be inserted in the gloss line in order to line up with unglossed text, such as the square brackets in (7)

  1. Mali  magwtgp       [  lpa'tuj-ewei  wenju'su'n  ]    
    Mali  eat.3sg.past     boy-POSS      apple            
    'Mali ate the boy's apple.'

which was created with the following input:

<gl id="ex6">
\gll Mali magwtgp [ lpa'tuj-ewei wenju'su'n ]  
Mali eat.3SG.PST {} boy-POSS apple {}   
\trans Mali ate the boy's apple.
</gl>

The same can be used to mark examples as ungrammatical or infelicitous, as in (8)

  1. *  jinm  ala   mesgilg    
       man   that  big        
    'That man is big.'

created with:

<gl id="ex7">
\gll * jinm  ala  mesgilg  
{} man that  big      
\trans That man is big.
</gl>

Known issues

Unicode string handling

While the GL extension does handle unicode characters, there are some instances where it will incorrectly align strings containings rich unicode characters. When using these characters, the phrase and gloss may not perfectly line up.

Formatting within GL blocks

Currently, it is impossible to use special formatting (e.g. boldface, italics) inside a GL block.