Skip to content

Instantly share code, notes, and snippets.

@TheJzoli
Last active March 4, 2023 15:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TheJzoli/6f3d079cc17a0806ce1365526753df26 to your computer and use it in GitHub Desktop.
Save TheJzoli/6f3d079cc17a0806ce1365526753df26 to your computer and use it in GitHub Desktop.
Pikku skriptejä sukututkimuksen helpottamiseksi

Tamper/Greasemonkey Userskriptejä sukututkimukseen

Tarvitset selainlaajennuksen, jotta nämä koodinpätkät toimivat. Suosittelen Tampermonkey-selainlaajennusta. Voit ladata sen Chrome-selaimelle täältä ja Firefox-selaimelle täältä. Firefoxilla voi myös käyttää Greasemonkey-laajennusta. Sen saa ladattua täältä.

  • Avaa Digihakemistossa nappi
    Tämä skripti lisää napin Astian tiedostonäkymässä sivun oikeaan alareunaan, joka avaa kyseisen tiedoston vastaavan Digihakemisto-sivun.
    Asenna
  • HisKi lähdeviite nappi
    Tämä skripti lisää napin HisKin tapahtuma-sivulle (tällä hetkellä vain synnyin-, kuolin- ja vihkimistapahtuman sivulle), joka kopioi simppelin lähdeviitteen leikepöydällesi.
    Viite on muodossa "Syntynyt/Kuollut/Vihitty pp.kk.vvvv: 'linkki tapahtumaan' / Viitattu pp.kk.vvvv"
    Asenna
  • Avaa Astiassa linkki
    Tämä skripti lisää linkin Digihakemiston tiedostosivulle, joka avaa kyseisen kuvan vastaavan sivun Astiassa.
    Asenna
// ==UserScript==
// @name Avaa Astiassa linkki
// @namespace https://gist.github.com/TheJzoli
// @version 1.0
// @description Avaa Digihakemiston tiedostosivulla vastaavan kuvan Astiassa
// @author TheJzoli
// @match https://digihakemisto.net/item/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=digihakemisto.net
// @grant none
// @updateURL https://gist.github.com/TheJzoli/6f3d079cc17a0806ce1365526753df26/raw/astia-linkki.user.js
// @downloadURL https://gist.github.com/TheJzoli/6f3d079cc17a0806ce1365526753df26/raw/astia-linkki.user.js
// ==/UserScript==
(function() {
'use strict';
const newEl = document.createElement('a');
newEl.href = `https://astia.narc.fi/uusiastia/viewer/?fileId=${location.pathname.split('/')[3]}&aineistoId=${location.pathname.split('/')[2]}`;
newEl.target = '_blank';
newEl.innerText = '(Astia)';
document.getElementById('citation').parentElement.prepend(newEl);
})();
// ==UserScript==
// @name Avaa Digihakemistossa nappi
// @namespace https://gist.github.com/TheJzoli
// @version 1.0
// @description Lisää napin kuvasivulle, joka avaa digihakemiston vastaavan sivun
// @author TheJzoli
// @match https://astia.narc.fi/uusiastia/viewer/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=narc.fi
// @grant none
// @updateURL https://gist.github.com/TheJzoli/6f3d079cc17a0806ce1365526753df26/raw/digihakemisto-nappi.user.js
// @downloadURL https://gist.github.com/TheJzoli/6f3d079cc17a0806ce1365526753df26/raw/digihakemisto-nappi.user.js
// ==/UserScript==
(function() {
'use strict';
let parent = document.getElementById('window-fullscreen').parentElement.parentElement;
let div = document.createElement('div');
div.className = 'image-toolbar';
div.style = 'bottom:0;right:0;top:auto;left:auto;';
let button = document.createElement('button');
button.title = 'Avaa sivu Digihakemistossa';
button.id = 'open-digihakemisto';
button.className = 'icon-button';
button.onclick = () => {
let urlParams = new URL(document.URL).searchParams;
window.open(`https://digihakemisto.net/item/${urlParams.get('aineistoId')}/${urlParams.get('fileId')}/${document.getElementById('page-number').value}`, '_self');
}
let textDiv = document.createElement('div');
textDiv.style = 'background:white;width:30px;color:darkRed;font-weight:1000;font-size:1.15em';
textDiv.textContent = 'D';
button.append(textDiv);
div.append(button);
parent.prepend(div);
})();
// ==UserScript==
// @name HisKi lähdeviite nappi
// @namespace https://gist.github.com/TheJzoli
// @version 1.0.2
// @description Nopeasti kopioi lähdeviite HisKin syntymä-/kuolin-/vihkimistietoihin
// @author TheJzoli
// @match https://hiski.genealogia.fi/hiski/*
// @match https://hiski.genealogia.fi/hiski?*
// @icon https://www.google.com/s2/favicons?sz=64&domain=genealogia.fi
// @grant GM_setClipboard
// @updateURL https://gist.github.com/TheJzoli/6f3d079cc17a0806ce1365526753df26/raw/hiski-lahdeviite.user.js
// @downloadURL https://gist.github.com/TheJzoli/6f3d079cc17a0806ce1365526753df26/raw/hiski-lahdeviite.user.js
// ==/UserScript==
(function() {
'use strict';
const langObj = {
linkText: ['Linkki tähän tapahtumaan', 'Länk till denna händelsen', 'Link to this event'],
btnText: ['Kopioi lähdeviite', 'Kopia referens', 'Copy reference'],
referencedText: ['Viitattu', 'Refererat den', 'Referenced'],
bornText: ['Syntynyt', 'Född', 'Born'],
deadText: ['Kuollut', 'Död', 'Died'],
marriedText: ['Vihitty', 'Vigd', 'Married']
};
const langISO = location.search.slice(1).split('+')[0];
const language = langISO === 'fi' ? 0 : (langISO === 'se' ? 1 : (langISO === 'en' ? 2 : 0));
const linkElArray = Array.from(document.getElementsByTagName('a')).filter(element => element.innerText.trim() === langObj.linkText[language]);
if (linkElArray.length === 0) return;
let referenceText;
const firstRow = document.getElementsByTagName('table')[1].firstElementChild.firstElementChild;
let eventsArray = firstRow.children[0].innerText.split('/'); // ['Syntynyt ',' Kastettu']
eventsArray = eventsArray.map(str => str.trim());
if (langObj.marriedText[language] === eventsArray[1]) {
referenceText = `${eventsArray[1]} ${firstRow.children[2].innerText.trim()}: ${linkElArray[0].href} / ${langObj.referencedText[language]} ${new Date(Date.now()).toLocaleDateString()}`;
} else if (langObj.bornText[language] === eventsArray[0] || langObj.deadText[language] === eventsArray[0]) {
referenceText = `${eventsArray[0]} ${firstRow.children[1].innerText.trim()}: ${linkElArray[0].href} / ${langObj.referencedText[language]} ${new Date(Date.now()).toLocaleDateString()}`;
} else {
return;
}
const button = document.createElement('button');
button.innerText = langObj.btnText[language];
button.style.marginLeft = 5;
button.onclick = () => GM_setClipboard(referenceText);
linkElArray[0].parentElement.append(button);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment