TIM-JYU / TIM

TIM (The Interactive Material) is an open-source cloud-based platform for creating interactive learning documents.
https://tim.education/view/about/en-US
MIT License
14 stars 4 forks source link

Linkit toiseen saman dokumentin otsikkoon eivät tottele määritettyjä ankkureita/id:tä #3325

Open saviit opened 1 year ago

saviit commented 1 year ago

Linkit toiseen saman dokumentin otsikkoon eivät aina tottele määritettyjä ankkureita: esimerkki https://tim.jyu.fi/view/users/viitanen-sami/testikansio/anchor/anchortest

Voi toistaa seuraavilla askeleilla:

  1. dokumenttiin lisätään vähintään kaksi saman nimistä otsikkoa
  2. ensimmäiselle otsikolle a määritetään otsikon nimestä poikkeava id syntaksilla ## Otsikko {#eka-otsikko}
  3. toiselle otsikolle b määritetään otsikon nimeä mukaileva id syntaksilla ## Otsikko {#otsikko} siten, että otsikon nimessä olevat erikoismerkit poistetaan ja välilyönnit korvataan väliviivoilla
  4. dokumenttiin lisätään linkki toisen otsikon b id:llä syntaksilla (linkki)[#otsikko]
  5. nyt juuri lisätty linkki viekin tuonne otsikkoon a, vaikka sen pitäisi viedä otsikkoon b.

ts. erikseen asetettuja id:tä ei kunnioiteta.

Hiukan samaan viittaavaa ongelmaa on kortissa #2102. Tässä kortissa kuvattu taitaa olla kuitenkin vielä oma tapauksensa.

vesal commented 1 year ago
  1. nyt juuri lisätty linkki viekin tuonne otsikkoon a, vaikka sen pitäisi viedä otsikkoon b.

Joo, tuo tulee koska jokainen otsikko saa automaattisesti id:n joka on sen otsikon teksti. Eli nyt ei ole muuta mahdollisuutta kun antaa itse tehdyille id:lle tekstej joita ei esiinny missään otsikossa. Tuo vaatisi aika perusteellista muutosta että automaattisesti tehtävät linkit poistettaisiin ja se rikkoisi monia dokumentteja.

saviit commented 1 year ago

Ok, joo. Tuo pitää varmaan dokumentoida jotenkin selkokielisesti tuonne TIMin ohjeisiin, muuten tuo tulee ikuisesti aiheuttamaan ihmetystä.

vesal commented 1 year ago

joskus on perusteltua antaa sama itsetehty kuin mikä on tekstistä tulossa. Silä perusteella että jos siihen teke hyppyjä ja joku sitten muuttaa tekstiä, niin ei hajoa. Itse asiassa ohje voisi olla että jos johonkin otsikkoon aikoo hypätä, niin SILLE PITÄÄ TEHDÄ itse se osoite. Muuten menenee rikki käännöksessä ja aina muokatessa. Eli suosituksena niitä valmiita voisi käyttää vain automaattisen sisällysluettelon kanssa. Se autom sisällysluettelokin taitaa toimi väärin jos on samoja tekstejä? Sen voisi tarkastaa mitä sislu tekee jos sellaisssa tapauksessa antaa kummallekin oikean eri id:n. Jos se käyttää niitä itse luotuja, niin silloin bugi voisi olla, että sislun on käytettävä itse luotua jos sellainen on. Se auttaisi sitten sitäkin, että jos sislusta ottaa osoitteen, niin se olisi "turvallinen".

En tiedä voisiko jotenkin kikkailla niin, että jos sislusta yrittää kopioida osoitteen, niin SJ tarkistaisi että onko itse lutoa id:tä ja jos ei ole, niin pyytäisi sille otsikolle sellaisen.

saviit commented 1 year ago

Siis mitä testidokumenttia tehdessä katsoin niin sisällysluetteloa tekee tuon periaatteessa aina oikein, ainakin omaan silmään näyttäisi että se käy otsikot 'lukemisjärjestyksessä' läpi ja generoi sisällysluettelon linkit samassa järjestyksessä. Jos on tismalleen saman nimisiä niin tulee järjestysnumero perään.

Se ongelmahan tässä ei ollut sisällysluettelo, vaan se että nuo ankkurilinkit itse dokumentissa ei toimi odotetulla tavalla (eli että itse asetettu ankkuri olisi aina ensisijainen).

vesal commented 1 year ago

Se ongelmahan tässä ei ollut sisällysluettelo, vaan se että nuo ankkurilinkit itse dokumentissa ei toimi odotetulla tavalla (eli että itse asetettu ankkuri olisi aina ensisijainen).

Eikös se ole periaattessa HTM:ssä kielletty että on kaksi samannimistä id:tä. Mutta pointtini olis se, että jos otikolle on annettu itse id, niin käyttääkö sislu sitä vaiko tekstistä generoitua. Oikein olisi käyttää siinä itse tehtyä, niin osoitteen voi kopioida sislustakin sellaisiin.

Se tietysti voisi olla pieni korjatus johonkin että jos jollekinon itse annettu id, niin automaattsietsi ei generoida. Mutta tosiaan se voisi rikkoa ison kasan dokumentteja, jossa on linkkejä laitettu autom generoituun osoitteeseen ja sitten joku lisää oman id:n.

saviit commented 1 year ago

Sisällysluettelo ei mielestäni käytä itse tehtyjä id:tä (en tarkistanut koodista, mutta tämän näkee selaimessakin tuolla testisivulla https://tim.jyu.fi/view/users/viitanen-sami/testikansio/anchor/anchortest). Testisivulla on kolme samaa otsikkoa: ekalla ja kolmannella otsikolla itse annetut id:t, ja tokassa otsikossa on automaattinen. Sislu tekee silti nuo kaavalla otsikon nimi + järjestysnumero.

Jos olen ymmärtänyt oikein niin tuon sisällysluettelon muuttaminen ei kuitenkaan korjaa sitä, että dokumentissa olevaa ankkurilinkkiä klikatessa mennään väärän otsikon kohdalle? Ellei kyseessä ole esim jotain sellaista, että sisällysluetteloa generoidessa munklaillaan id:t ristiin? Pitää varmaan seuraavaksi tutkia koodin puolelta että missä siellä mennään mönkään tuon kanssa.