User:Sarri.greek/lab/test1
Sarri.greek • talk —
ref -
audio -
notes -
nouns -
verbs -
αβγό •
αἴρω/αἱρῶ •
Τ' αστέρι του βοριά (song)
CAT •
pg.en ::
@el •
pg.el —
fonts •
test •
test1 •
vern.lab •
verbs.test •
tAr •
T1·a •
T3, T4 •
menu
Page User:Sarri.greek/test/style.css must have content model "Sanitized CSS" for TemplateStyles (current model is "CSS").
Horizontal Table of Contents for wiktionaries. Horizontal by language (for 2 to 6? languages).
Also, for toclimit2 as in wikt:en:te for 70 plus languages, just place them in a horizontal row with commata.
Headings in wiktionaries are standard and repetitive.
example
[edit]as a wikt:el:Template:test-ol - wikt:el:Template:ol-multi/style.css - tests
- trying not to use : for li or | for td etc. I do not know where that : is from, what height it has, etc. All colours, heights, sizes must be redone and shown for this tocwikt only.
- as standalone as possible.
I cannot make it 'read' and produce from top to bottom a list of all headings between double, triple, quadruple (up to 6?) = = = = symbols.
Plan
- example at wikt:en:User:Sarri.greek/lab/test1
- make wikt:en:User:Sarri.greek/test/style.css
- cannot use
<noinclude><templatestyles src="User:Sarri.greek/test/style.css " /></noinclude>
- because it needs Sanitized CSS
- cannot use
- a trial wikt:en:Module:User:Sarri.greek/test
- test it at wikt:en:User:Sarri.greek/test
Help
(example as in lemma σκληρός) - el.wikt.test wikt:el:Module:toc-test wikt:el:Template:toc-test, examples of how it looks at wikt:el:Template:test-ol
|
But with full numbers like: wikt:el:Template:ol-multi/style.css
|
tocwikt
[edit]tried a bit at https://el.wiktionary.org/wiki/Module:toc-test
-- make hotizontal Tables of Contents for wiktionaries
-- find section-titles
-- formate texts and links
-- formate table
-- make Templates
-------------------------
local export = {}
function export.main(frame)
-- get the page we are in
local page = mw.title.getCurrentTitle()
page.name = page.text:match( "^%s*(.-)%s*$" )
-- read the contents of this page
local content = "\n" .. page:getContent() -- by 'content' he means the wikitext source, not the output.
-- get only things that are between ==(or more, up to 6======) and ==(or more, up to 6======)
-- NOOO if find the sequence ==(ormore)+xxxxanycharacter+==(ormore) then
local match = content:gmatch("\n==([^\n]+)") -- \n = newlinestarts ^ = except what is in this [..] + = at least one or more.
while true do
local header = match()
if not header then break end
-- do work here
return header -- it produces the first L2 eg ==Greek== like this: Greek==
-- .. match() .. match() .. match() .. match() -- it procedes to next if I write many times match() e.g. =Etymology===
-- need to sepcify how many == at beginning?
end
--------- get sectiontext
-- find the titles of sections by the number of equal = = = symbols
-- there is no =sectiontext= with one equal symbol (this is the actual page)
-- if find in page "=="sectiontext"==" then get "sectiontext" this is id = 'L2'
-- Do it with the results like above
-- if match xxxx==(only2, no =) then
-- sectiontext = xxx id=L2
-- if L2 then write class="L2" <li class="L2">
-- next
-- if find in page "==="sectiontext"===" then get "sectiontext" id L3
-- if find in page "===="sectiontext"====" then get "sectiontext" id L4
-- if find in page "====="sectiontext"=====" then get "sectiontext" id L5
-- =========== Formate text, make links ============ --
--------- get titletext from sectiontext
-- get xxxx = any character except | or {}
-- according to each case, e.g. if sectiontext = {{ετυμολογία}} then titletext = Ετυμολογία
-- for all wikts
-- if find in sectiontext [[yyyy|xxxx]] then titletext = xxxx
-- if find in sectiontext [[xxxx]] then titletext = xxxx
-- if find xxxxx (with no [ { |) then titletext = xxxx
-- for en.wikt
-- if find in sectiontext {{l|yy|xxxx}} then titletext = xxxx
-- if xxxx1 {{l|yy|xxx}} xxxx3 then titletxt = xxx1 xxx xxx3
-- for Your wikt, add more in similar way
-- el.wikt
-- if find in sectiontext "{{l|xxxx|yy}}" then title text = xxxx
-- if find {{-xxx-}} then titletext = require("Module:Languages").iso).link (this is at el.wikt the title of headings of languages
-- if find {{xxxxx}}
-- if xxx = ετυμολογία then write Ετυμολογία ...etc These are heading templates at el.wikt.
-- if "{{l|zzzz|yy|xxxx}}" then titletext = xxxx
--...etc
-- are there external links??
--------- make title repeats OK
-- If a titletext is repeated add _2 _3 _4... to it e.g. Adjective, Adjective_2
-- do not start with Adjective_1
-- if find titletext more than once then
-- ignore the first one
-- start at the second and add underscore and number two _2
-- find next and add +1
-- call it titlerepeatsOK
--------- make title fixed with underscores between the words of titletext e.g. Related terms = Related_terms
-- if find in titlerepeatsOK space then put _
-- call it titlefixed
-- =========== make list of all headings. put the titletexts li in sequence
-- start reading sectiontitles from top and place them in li /li
-- number them e.g. L2_1, L3_1, L3_2, L2_2 etc. editor will indicate which one he wants to break.column.
--------- make titlelink inner link with #
-- if titletext then titlelink is "[[#" .. titlefixed.. "|" .. titletext .. "]]"
-- =========== general style for Table of Contents ============ -- like a css
-- it is in a table
-- it floats left + param float=right, center
-- border dddddd
-- background color f9f9f9
-- fonx-size 92% for table, ol, li for all.
-- line-height 1.5em, no different for ol or li
-- ol and li have same line-height (no particular padding top/bottom when an ol ends)
----------------------- functions
-- =========== for Template TOCwikt ============ --
-- function with columns
-- when no parameters, then it creates one column (like the old TOC did)
-- split the table in 2 columns // or for any number of columns // or for every L2
-------- make rules for column breaks, args for the editor
-- number all L2s L2-1
--e.g.
--if cols=2 the if id=L2-2 then write "</td><td style...><ol reset number -....><li>... titlelink .. </li>
--go to next L2
--if L2 == col, then </ol></td><td><ol><li style="counter-reset: item 1;">
-- if args['reset'] = L2_2 write </td><td><ol><li style="counter-reset: item 1;">
-- if args['reset'] = L2_3 write </td><td><ol><li style="counter-reset: item 2;">
-- ---------------------
-- or, it it is for all L2s
-- ...
-- ========== ? with links to other pages========= --
-- or mixed: with links of current page
-- plus from another page e.g. English (its L2 TOC) but Old English (L2Toc) from another page
-- for use in Appendices, with all links from other pages
-- =========== for Template TOCwikt horizontal ============ --
-- for pages with too many L2, use togeteher with TOC limit
-- Example at page [[te]]
-- Use toclimit2.
-- Do not use ol, li or columns. Just write the titletxts in a row with comma. Just like the Contents.a-z are.
return export