Beispieldaten entpersonalisiert: generische Staedte statt Gladbeck & Co.
Platzhalter und Doku-Beispiele nannten durchgehend den Wohnort des Entwicklers (Gladbeck, Bottrop, Gelsenkirchen, Essen), dessen Vorwahl (02043), PLZ und Strasse. Ersetzt durch Berlin/Hamburg/Muenchen sowie eine zum Beispielort passende Vorwahl (030). Betrifft die Platzhalter fuer Telefon/Ort (Vorlagen), die Staedte-Eingabe (Jobsuche), das Adressbeispiel in den LLM-Notizen, die OpenAPI-Beispiele und zwei Code-Kommentare. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -111,7 +111,7 @@ function firmaSlug(s) {
|
|||||||
// when the shorter one's hyphen tokens are a leading prefix of the longer one's.
|
// when the shorter one's hyphen tokens are a leading prefix of the longer one's.
|
||||||
// The prefix rule collapses "short name" vs "full legal name" spellings of one
|
// The prefix rule collapses "short name" vs "full legal name" spellings of one
|
||||||
// firm — e.g. "it-problemloeser" vs "it-problemloeser-verwaltungs-und-handels",
|
// firm — e.g. "it-problemloeser" vs "it-problemloeser-verwaltungs-und-handels",
|
||||||
// or "stadtwerke-essen" vs "stadtwerke-essen-netz". To avoid merging distinct
|
// or "stadtwerke-berlin" vs "stadtwerke-berlin-netz". To avoid merging distinct
|
||||||
// firms that merely share a first word ("meyer-it" vs "meyer-logistik"), a pure
|
// firms that merely share a first word ("meyer-it" vs "meyer-logistik"), a pure
|
||||||
// prefix match requires the shorter slug to carry at least two tokens; a
|
// prefix match requires the shorter slug to carry at least two tokens; a
|
||||||
// single-token slug only matches an identical one.
|
// single-token slug only matches an identical one.
|
||||||
|
|||||||
+2
-2
@@ -1543,8 +1543,8 @@ const LET_W = LET_R - LET.mx; // 165
|
|||||||
// The letter shares the résumé's accent (see lib/design.js), so cover letter and
|
// The letter shares the résumé's accent (see lib/design.js), so cover letter and
|
||||||
// CV keep reading as one deliberately designed set whatever the user picks.
|
// CV keep reading as one deliberately designed set whatever the user picks.
|
||||||
|
|
||||||
// Extract just the town from a possibly-full address ("Feldstraße 76, 45968
|
// Extract just the town from a possibly-full address ("Musterstraße 5, 10115
|
||||||
// Gladbeck" / "45968 Gladbeck" / "Gladbeck" → "Gladbeck").
|
// Berlin" / "10115 Berlin" / "Berlin" → "Berlin").
|
||||||
function cityName(header) {
|
function cityName(header) {
|
||||||
let s = header.ort || header.adresse || '';
|
let s = header.ort || header.adresse || '';
|
||||||
const parts = String(s).split(',').map((p) => p.trim()).filter(Boolean);
|
const parts = String(s).split(',').map((p) => p.trim()).filter(Boolean);
|
||||||
|
|||||||
+3
-3
@@ -443,7 +443,7 @@ function buildOpenApiSpec(baseUrl = '') {
|
|||||||
content: {
|
content: {
|
||||||
'application/json': {
|
'application/json': {
|
||||||
schema: { $ref: '#/components/schemas/Settings' },
|
schema: { $ref: '#/components/schemas/Settings' },
|
||||||
example: { name: 'Max Mustermann', ort: 'Gladbeck' },
|
example: { name: 'Max Mustermann', ort: 'Berlin' },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -890,8 +890,8 @@ function buildOpenApiSpec(baseUrl = '') {
|
|||||||
adresse: { type: 'string', example: 'Musterstraße 1, 12345 Musterstadt' },
|
adresse: { type: 'string', example: 'Musterstraße 1, 12345 Musterstadt' },
|
||||||
kundennummer: { type: 'string', description: 'Kundennummer beim Jobcenter' },
|
kundennummer: { type: 'string', description: 'Kundennummer beim Jobcenter' },
|
||||||
email: { type: 'string', example: 'max@example.com' },
|
email: { type: 'string', example: 'max@example.com' },
|
||||||
telefon: { type: 'string', example: '02043 123456' },
|
telefon: { type: 'string', example: '030 12345678' },
|
||||||
ort: { type: 'string', example: 'Gladbeck' },
|
ort: { type: 'string', example: 'Berlin' },
|
||||||
webseite: { type: 'string', example: 'example.com' },
|
webseite: { type: 'string', example: 'example.com' },
|
||||||
geburtsdatum: { type: 'string', example: '01.01.1990' },
|
geburtsdatum: { type: 'string', example: '01.01.1990' },
|
||||||
},
|
},
|
||||||
|
|||||||
+1
-1
@@ -340,7 +340,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<textarea name="llm_notizen" rows="4"
|
<textarea name="llm_notizen" rows="4"
|
||||||
class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-700 text-gray-800 dark:text-white leading-relaxed"
|
class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-700 text-gray-800 dark:text-white leading-relaxed"
|
||||||
placeholder="z. B. Musterfirma GmbH Musterstraße 12 45128 Essen Ansprechpartner: Frau Müller"><%= application.llm_notizen || '' %></textarea>
|
placeholder="z. B. Musterfirma GmbH Musterstraße 12 10115 Berlin Ansprechpartner: Frau Müller"><%= application.llm_notizen || '' %></textarea>
|
||||||
|
|
||||||
<!-- Which documents to generate (both by default). -->
|
<!-- Which documents to generate (both by default). -->
|
||||||
<div class="mt-4" id="dokumentAuswahl">
|
<div class="mt-4" id="dokumentAuswahl">
|
||||||
|
|||||||
+1
-1
@@ -97,7 +97,7 @@
|
|||||||
<label class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1" for="staedte">Städte</label>
|
<label class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1" for="staedte">Städte</label>
|
||||||
<textarea id="staedte" name="staedte" rows="3" spellcheck="false"
|
<textarea id="staedte" name="staedte" rows="3" spellcheck="false"
|
||||||
class="w-full rounded-md border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-700 px-3 py-2 text-sm"
|
class="w-full rounded-md border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-700 px-3 py-2 text-sm"
|
||||||
placeholder="Gladbeck, Bottrop, Gelsenkirchen, Essen"><%= profil.staedte.join(', ') %></textarea>
|
placeholder="Berlin, Potsdam, Hamburg, München"><%= profil.staedte.join(', ') %></textarea>
|
||||||
<p class="text-xs text-gray-400 dark:text-gray-500 mt-1">
|
<p class="text-xs text-gray-400 dark:text-gray-500 mt-1">
|
||||||
Kommagetrennt, höchstens <%= maxStaedte %>. Die <strong>erste Stadt gilt als Wohnort</strong> und wird
|
Kommagetrennt, höchstens <%= maxStaedte %>. Die <strong>erste Stadt gilt als Wohnort</strong> und wird
|
||||||
am höchsten priorisiert. Bei „100 % Remote“ werden die Städte ignoriert.
|
am höchsten priorisiert. Bei „100 % Remote“ werden die Städte ignoriert.
|
||||||
|
|||||||
+2
-2
@@ -79,13 +79,13 @@
|
|||||||
<label for="telefon" class="block text-xs font-medium text-gray-500 dark:text-gray-400 mb-1">Telefon</label>
|
<label for="telefon" class="block text-xs font-medium text-gray-500 dark:text-gray-400 mb-1">Telefon</label>
|
||||||
<input type="text" id="telefon" name="telefon"
|
<input type="text" id="telefon" name="telefon"
|
||||||
class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-700 text-gray-800 dark:text-white"
|
class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-700 text-gray-800 dark:text-white"
|
||||||
placeholder="z. B. 02043 123456" value="<%= settings.telefon || '' %>">
|
placeholder="z. B. 030 12345678" value="<%= settings.telefon || '' %>">
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="ort" class="block text-xs font-medium text-gray-500 dark:text-gray-400 mb-1">Wohnort</label>
|
<label for="ort" class="block text-xs font-medium text-gray-500 dark:text-gray-400 mb-1">Wohnort</label>
|
||||||
<input type="text" id="ort" name="ort"
|
<input type="text" id="ort" name="ort"
|
||||||
class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-700 text-gray-800 dark:text-white"
|
class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-700 text-gray-800 dark:text-white"
|
||||||
placeholder="z. B. Gladbeck" value="<%= settings.ort || '' %>">
|
placeholder="z. B. Berlin" value="<%= settings.ort || '' %>">
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="webseite" class="block text-xs font-medium text-gray-500 dark:text-gray-400 mb-1">Webseite</label>
|
<label for="webseite" class="block text-xs font-medium text-gray-500 dark:text-gray-400 mb-1">Webseite</label>
|
||||||
|
|||||||
Reference in New Issue
Block a user