@studiotitta/studio-editori 0.1.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -6,10 +6,6 @@ export interface Tiedosto {
|
|
|
6
6
|
/** base64 kuville, utf-8 tekstille. Oletus utf-8. */
|
|
7
7
|
koodaus?: "utf-8" | "base64";
|
|
8
8
|
}
|
|
9
|
-
export interface Tekija {
|
|
10
|
-
nimi: string;
|
|
11
|
-
sahkoposti: string;
|
|
12
|
-
}
|
|
13
9
|
export declare class RistiriitaVirhe extends Error {
|
|
14
10
|
/** Repon nykyinen versio. */
|
|
15
11
|
nykyinenVersio: string;
|
|
@@ -33,7 +29,6 @@ export declare function lueTiedosto(asetukset: GithubAsetukset, polku: string, v
|
|
|
33
29
|
export interface Tallennus {
|
|
34
30
|
tiedostot: Tiedosto[];
|
|
35
31
|
viesti: string;
|
|
36
|
-
tekija: Tekija;
|
|
37
32
|
/**
|
|
38
33
|
* Tiedostokohtaiset versiot, joista muokkaus alkoi: polku → versio.
|
|
39
34
|
*
|
|
@@ -127,13 +127,30 @@ async function kirjoitaKerran(asetukset, tallennus, kohteet, tarkistaRistiriita)
|
|
|
127
127
|
menetelma: "POST",
|
|
128
128
|
runko: { base_tree: nykyinen, tree: blobit },
|
|
129
129
|
});
|
|
130
|
+
/*
|
|
131
|
+
Tekijätietoa EI aseteta tarkoituksella.
|
|
132
|
+
|
|
133
|
+
Aiemmin tekijäksi merkittiin muokkaajan oma nimi ja sähköposti. Se näytti
|
|
134
|
+
kauniilta repon historiassa, mutta esti julkaisun: Vercel vaatii, että
|
|
135
|
+
commitin sähköposti vastaa jotakin GitHub-tiliä, ja asiakkaalla ei
|
|
136
|
+
tyypillisesti ole GitHub-tunnusta lainkaan. Julkaisu jäi tilaan "Blocked"
|
|
137
|
+
eikä rakennusta edes yritetty — virhe, joka ei näy build-lokeissa, koska
|
|
138
|
+
niitä ei synny. Tämä tuli vastaan Storyanalyticassa 4.10.2026, kun
|
|
139
|
+
asiakas teki ensimmäiset omat muokkauksensa.
|
|
140
|
+
|
|
141
|
+
Kun tekijä jätetään pois, GitHub merkitsee commitin sovelluksen nimiin.
|
|
142
|
+
Se on oikea GitHub-identiteetti, jonka Vercel hyväksyy.
|
|
143
|
+
|
|
144
|
+
Tieto muokkaajasta ei katoa: se on commit-viestin rungossa muodossa
|
|
145
|
+
"Muokannut <osoite> sivuston editorilla". GitHubin listanäkymä esittää
|
|
146
|
+
vain otsikkorivin, mutta commit itse kertoo tekijän.
|
|
147
|
+
*/
|
|
130
148
|
const commit = await github(asetukset, `/repos/${asetukset.repo}/git/commits`, {
|
|
131
149
|
menetelma: "POST",
|
|
132
150
|
runko: {
|
|
133
151
|
message: tallennus.viesti,
|
|
134
152
|
tree: puu.sha,
|
|
135
153
|
parents: [nykyinen],
|
|
136
|
-
author: { name: tallennus.tekija.nimi, email: tallennus.tekija.sahkoposti },
|
|
137
154
|
},
|
|
138
155
|
});
|
|
139
156
|
await github(asetukset, `/repos/${asetukset.repo}/git/refs/heads/${asetukset.haara}`, {
|
package/dist/palvelin/kuvat.js
CHANGED
|
@@ -21,11 +21,6 @@ import { kaannosAvain } from "./kaannos.js";
|
|
|
21
21
|
import { kuvatekstiAvain } from "./kuvateksti.js";
|
|
22
22
|
import { RistiriitaVirhe } from "./github/tiedostot.js";
|
|
23
23
|
import { valitseVarasto } from "./varasto.js";
|
|
24
|
-
/** Tekijän nimi commitiin. Sähköpostista ennen @-merkkiä, siistittynä. */
|
|
25
|
-
function tekijanNimi(sahkoposti) {
|
|
26
|
-
const alku = sahkoposti.split("@")[0] ?? sahkoposti;
|
|
27
|
-
return alku.replace(/[._-]+/g, " ").trim() || sahkoposti;
|
|
28
|
-
}
|
|
29
24
|
function commitinViesti(sivujenNimet, muokkaaja) {
|
|
30
25
|
const mita = sivujenNimet.join(", ");
|
|
31
26
|
return `Sisältömuutos: ${mita}\n\nMuokannut ${muokkaaja} sivuston editorilla.`;
|
|
@@ -146,7 +141,6 @@ export function sisallonReitit(yliajot = {}) {
|
|
|
146
141
|
const { versio } = await varasto().tallenna({
|
|
147
142
|
tiedostot,
|
|
148
143
|
viesti: commitinViesti(nimet, muokkaaja),
|
|
149
|
-
tekija: { nimi: tekijanNimi(muokkaaja), sahkoposti: muokkaaja },
|
|
150
144
|
...(Object.keys(perustuu).length > 0 ? { perustuu } : {}),
|
|
151
145
|
});
|
|
152
146
|
/* Uudet tiedostoversiot mukaan, jotta seuraava tallennus samasta
|
package/dist/selain/Paneeli.js
CHANGED
|
@@ -393,7 +393,12 @@ function Kuvakentta({ maaritys, arvo, muuta, lataa, }) {
|
|
|
393
393
|
setVirhe(syy instanceof Error ? syy.message : "Kuvan lataus ei onnistunut.");
|
|
394
394
|
}
|
|
395
395
|
}
|
|
396
|
-
return (_jsxs("div", { className: "kuva", children: [esikatselu ?? (typeof kuva?.src === "string" ? kuva.src : null) ? (_jsxs(_Fragment, { children: [_jsx("img", { src: esikatselu ?? kuva?.src, alt: "" }), esikatselu ? (_jsx("p", { className: "ohje", children: "Uusi kuva. Se tulee sivulle, kun tallennat." })) : null] })) : (_jsx("p", { className: "tyhja", children: "Ei kuvaa." })), _jsxs("label", { className: "lataus", children: [_jsx("span", { children: tila === "lataa" ? "Käsitellään…" : "Vaihda kuva" }), _jsx("input", { type: "file", accept: "image/*", disabled: tila === "lataa", onChange: (tapahtuma) => valitse(tapahtuma.target.files?.[0]) })] }), tila === "virhe" ? _jsx("p", { className: "virheviesti", children: virhe }) : null, _jsxs("label", { className: "alt", children: ["Kuvan kuvaus", _jsx("input", { type: "text",
|
|
396
|
+
return (_jsxs("div", { className: "kuva", children: [esikatselu ?? (typeof kuva?.src === "string" ? kuva.src : null) ? (_jsxs(_Fragment, { children: [_jsx("img", { src: esikatselu ?? kuva?.src, alt: "" }), esikatselu ? (_jsx("p", { className: "ohje", children: "Uusi kuva. Se tulee sivulle, kun tallennat." })) : null] })) : (_jsx("p", { className: "tyhja", children: "Ei kuvaa." })), _jsxs("label", { className: "lataus", children: [_jsx("span", { children: tila === "lataa" ? "Käsitellään…" : "Vaihda kuva" }), _jsx("input", { type: "file", accept: "image/*", disabled: tila === "lataa", onChange: (tapahtuma) => valitse(tapahtuma.target.files?.[0]) })] }), tila === "virhe" ? _jsx("p", { className: "virheviesti", children: virhe }) : null, _jsxs("label", { className: "alt", children: ["Kuvan kuvaus", _jsx("input", { type: "text",
|
|
397
|
+
/* Vihje opettaa muodon, ei sisältöä. Aiempi "Esimerkiksi: kynttilä
|
|
398
|
+
ikkunalaudalla" luettiin ehdotukseksi siitä, mitä kenttään pitäisi
|
|
399
|
+
kirjoittaa, eikä esimerkiksi alt-tekstin muodosta — eikä kynttilä
|
|
400
|
+
liity mihinkään sivustoon, joilla editoria käytetään. */
|
|
401
|
+
placeholder: "Lyhyesti: mit\u00E4 kuvassa n\u00E4kyy", value: typeof kuva?.alt === "string" ? kuva.alt : "", onChange: (tapahtuma) => {
|
|
397
402
|
setVaihdettu(false);
|
|
398
403
|
muuta({ ...(kuva ?? {}), alt: tapahtuma.target.value });
|
|
399
404
|
} })] }), ehdotus ? (_jsxs("div", { className: "huomio", role: "status", children: [_jsxs("p", { children: ["Ehdotus: \u201C", ehdotus, "\u201D"] }), _jsx("button", { type: "button", onClick: () => {
|
package/package.json
CHANGED