Moduł:wzór chemiczny: Różnice pomiędzy wersjami
[wersja przejrzana] | [wersja przejrzana] |
Usunięta treść Dodana treść
wycofuję drugi parametr ze względu na kontrowersje w Barze Znacznik: Anulowanie edycji |
wsparcie dla znakow [] (poniewaz tworzymy link do poszczegolnych symboli, parser potyka sie na obecnosci potrojnych [lub ], np. w diopsyd) |
||
Linia 4:
local T_ELEM = 0
local T_NUM = 1
local
local
local T_CHARGE = 4
local T_NUM_CHARGE = 5
local T_NOCHANGE = 100
Linia 15 ⟶ 17:
end
end
function genlink(t, x)
Linia 27 ⟶ 28:
elseif t == T_NUM then
return "<sub class=\"chem-sub\">" .. x .. "</sub>"
elseif t == T_OPEN or t == T_CLOSE then
return "​" .. x .. "​" -- zero-width space
elseif t == T_CHARGE then
return "<sup class=\"chem-sup\">" .. rempar(x) .. "</sup>"
Linia 47 ⟶ 50:
if not x then x = f:match('^[\\+\\-]', i); t = T_CHARGE; end
if not x then x = f:match('^[%d.]+', i); t = T_NUM; end
if not x then x = f:match('^[%[]', i); t = T_OPEN; end
if not x then x = f:match('^[%]]', i); t = T_CLOSE; end
if not x then x = f:match('^.', i); t = T_NOCHANGE; end
if x then i = i + x:len(); else i = i + 1000; error("Nieprawidłowy lub nieobsługiwany wzór: " .. f); end
|