@neonwilderness/moveskins 1.1.0 → 1.1.2

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.1.2 (05.04.2026)
4
+ - Add skins/skinRegister.json to package files
5
+
6
+ ## 1.1.1 (05.04.2026)
7
+ - Add bin entry to package.json
8
+
3
9
  ## 1.1.0 (31.03.2026)
4
10
  - Migrate to Vite+
5
11
  - Swap Ava for Vitest
package/dist/index.js CHANGED
@@ -186,7 +186,7 @@ var d = l(process.cwd(), "skins"), f = l(process.cwd(), "backup"), p = l(d, "ski
186
186
  type: "boolean"
187
187
  }
188
188
  }).argv;
189
- u(), !w.from && !w.to && (console.log("Desired action must be specified with --from=dev|prod or --to=dev|prod"), process.exit(1)), w.from && w.to && (console.log("You cannot specify --from=dev|prod AND --to=dev|prod in one run"), process.exit(1)), w.compare && !w.to && (console.log("You must specify a target platform with --to=dev|prod when comparing skins"), process.exit(1)), w.alias || (console.log("You must specify the desired alias(es) with --alias=name1,name2,... OR --alias=*"), process.exit(1));
189
+ u(), !w.from && !w.to && (console.log("Desired action must be specified with --from=dev|prod or --to=dev|prod"), process.exit(1)), w.from && w.to && (console.log("You cannot specify --from=dev|prod AND --to=dev|prod in one run"), process.exit(1)), w.compare && !w.to && (console.log("You must specify a target platform with --to=dev|prod when comparing skins"), process.exit(1)), w.alias || (console.log("You must specify the desired alias(es) with --alias=name1[,name2,...] OR --alias=*"), process.exit(1));
190
190
  var T = (w.from || w.to).toLowerCase(), E = new n.Twoday(T, { delay: 100 }), D = w.alias === "*" ? [
191
191
  "www",
192
192
  "info",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neonwilderness/moveskins",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "Download/Upload/Compare modified skins for selected aliases on Twoday",
5
5
  "keywords": [
6
6
  "antville",
@@ -12,6 +12,7 @@
12
12
  "author": "NeonWilderness",
13
13
  "files": [
14
14
  "dist",
15
+ "skins/skinRegister.json",
15
16
  "src",
16
17
  ".env.example",
17
18
  "CHANGELOG.md",
@@ -21,6 +22,9 @@
21
22
  ],
22
23
  "type": "module",
23
24
  "exports": "./dist/index.js",
25
+ "bin": {
26
+ "moveskins": "./dist/index.js"
27
+ },
24
28
  "scripts": {
25
29
  "update": "ncu -u && npm i",
26
30
  "backup": "node ./src/index --backup --alias=www --from=prod",
@@ -47,14 +51,14 @@
47
51
  "test:ui": "vp test --ui"
48
52
  },
49
53
  "dependencies": {
50
- "@neonwilderness/twoday": "^0.6.1",
54
+ "@neonwilderness/twoday": "^0.6.2",
51
55
  "chalk": "^5.6.2",
52
56
  "del": "^8.0.1",
53
57
  "dotenv-safe": "^9.1.0",
54
58
  "yargs": "^18.0.0"
55
59
  },
56
60
  "devDependencies": {
57
- "@vitest/ui": "4.1.1",
61
+ "@vitest/ui": "4.1.2",
58
62
  "slash": "^5.1.0",
59
63
  "vite-plus": "^0.1.15"
60
64
  },
@@ -0,0 +1,222 @@
1
+ {
2
+ "MemberMgr.statusloggedin": {
3
+ "title": "Angemeldeter Benutzer",
4
+ "description": "Wenn ein angemeldeter Benutzer deine Site besucht wird dieses Skin angezeigt wo immer du das Makro plaziert."
5
+ },
6
+ "MemberMgr.statusloggedout": {
7
+ "title": "Abgemeldeter Benutzer",
8
+ "description": "Wenn der Benutzer der dein Weblog besucht nicht angemeldet ist, wird dieses Skin angezeigt."
9
+ },
10
+ "Site.adminStyle": {
11
+ "title": "Admin Stylesheet",
12
+ "description": "Beinhaltet spezielle Style-Angaben für die im allgemeinen Layout dargestellten Contributorscreens."
13
+ },
14
+ "Site.main": {
15
+ "title": "Startseite",
16
+ "description": "Dieses Skin wird verwendet um die Titelseite deines Weblogs anzuzeigen."
17
+ },
18
+ "Site.page": {
19
+ "title": "Hauptseite",
20
+ "description": "Grundlegender Skin für dein Weblog (Grundgerüst der Seite in HTML). Änderungen in diesem Skin werden das ganze Weblog beeinflussen."
21
+ },
22
+ "Site.preview": {
23
+ "title": "Weblogliste: Eintrag",
24
+ "description": "Zeigt ein einzelnes Weblog in der Liste der öffentlichen Sites auf der Startseite der Installation."
25
+ },
26
+ "Site.robotsAllow": {
27
+ "title": "Einschränkungen für Suchmaschinen",
28
+ "description": "Dieses Skin kann Einschränkungen für spezifische (oder alle) Suchmaschinen enthalten um festzulegen welche Bereiche indiziert werden sollen (in vielen Anleitungen wird diese Datei als »robots.txt« bezeichnet)."
29
+ },
30
+ "Site.sidebarItem": {
31
+ "title": "Element in der Seitenleiste",
32
+ "description": "Ist für das Aussehen eines Sidebar Modulelements in der Sidebar verantwortlich. Dieses ist für alle einheitlich."
33
+ },
34
+ "Site.style": {
35
+ "title": "Stylesheet",
36
+ "description": "Beinhaltet die Cascading Stylesheets (CSS) definitionen (z.B. Schriftart, -größe, -farben, etc.). Veränderungen in diesem Skin betreffen das ganze Weblog."
37
+ },
38
+ "Site.style_orientation_2c_left_left": {
39
+ "title": "Stylesheet 2 Spalten, Links ausgerichtet, Inhalt auf der linken Seite",
40
+ "description": ""
41
+ },
42
+ "Story.frontpageDisplay": {
43
+ "title": "Story.frontpageDisplay",
44
+ "description": ""
45
+ },
46
+ "Story.tdyPreview": {
47
+ "title": "Story.tdyPreview",
48
+ "description": ""
49
+ },
50
+ "Site.searchbox": {
51
+ "title": "Suchfeld",
52
+ "description": "Dieses Skin wird für die Anzeige des Suchfeldes im Navigationsfeld verwendet."
53
+ },
54
+ "Story.display": {
55
+ "title": "Beitragsanzeige",
56
+ "description": "Zeigt den Inhalt eines Beitrags. Standardmässig ist dieses Skin in »Vorschau«, »Ansicht des ganzen Beitrags« und »Kommentar« eingebettet."
57
+ },
58
+ "Story.main": {
59
+ "title": "Ansicht des ganzen Beitrags",
60
+ "description": "Dieses Skin wird zum Anzeigen eines Beitrags verwendet wie du es im »Anzeige« Skin festgelegt hast (mit Kommentaren)."
61
+ },
62
+ "Comment.reply": {
63
+ "title": "Antwort auf einen Kommentar",
64
+ "description": "Definiert wie Antworten auf einen Kommentar dargestellt werden."
65
+ },
66
+ "Comment.toplevel": {
67
+ "title": "Toplevel Kommentar",
68
+ "description": "Erscheinungsbild eines Toplevel-Kommentars zu einem Beitrag."
69
+ },
70
+ "Site.credits": {
71
+ "title": "Site.credits",
72
+ "description": ""
73
+ },
74
+ "Site.usernavigation": {
75
+ "title": "Allgemeines Menü",
76
+ "description": "Dieses Menü ist für alle Besucher sichtbar."
77
+ },
78
+ "Site.page_3c": {
79
+ "title": "Dreispaltiges Layout",
80
+ "description": "Wenn du ein dreispaltiges Layout gewählt hast, wird dieser Skin als Hauptskin verwendet. Dreispaltige Layouts benötigen ein anderes HTML-Layout."
81
+ },
82
+ "Site.rss": {
83
+ "title": "RSS feed",
84
+ "description": "Skin für das Darstellen eines RSS Feeds."
85
+ },
86
+ "Site.spamfilterSidebar": {
87
+ "title": "Site.spamfilterSidebar",
88
+ "description": ""
89
+ },
90
+ "Site.style_orientation_2c_center_left": {
91
+ "title": "Stylesheet 2 Spalten, Zentriert, Inhalt auf der linken Seite",
92
+ "description": ""
93
+ },
94
+ "Site.style_orientation_2c_center_right": {
95
+ "title": "Stylesheet 2 Spalten, Zentriert, Inhalt auf der rechten Seite",
96
+ "description": ""
97
+ },
98
+ "Site.style_orientation_2c_full_left": {
99
+ "title": "Stylesheet 2 Spalten, Volle Breite, Inhalt auf der linken Seite",
100
+ "description": ""
101
+ },
102
+ "Site.style_orientation_2c_full_right": {
103
+ "title": "Stylesheet 2 Spalten, Volle Breite, Inhalt auf der rechten Seite",
104
+ "description": ""
105
+ },
106
+ "Site.style_orientation_2c_left_right": {
107
+ "title": "Stylesheet 2 Spalten, Volle Breite, Inhalt auf der rechten Seite",
108
+ "description": ""
109
+ },
110
+ "Site.style_orientation_3c_full": {
111
+ "title": "Stylesheet 3 Spalten, Volle Breite",
112
+ "description": ""
113
+ },
114
+ "Site.lonelyBlogs": {
115
+ "title": "Abandoned Twoday Blogs",
116
+ "description": "Script tag to insert a parsed JSON object \"lonelyBlogs\" into window. These 20.000+ blogs are abandoned Twoday blogs subject to a recycle option for new users."
117
+ },
118
+ "Site.alpine": {
119
+ "title": "Site.alpine",
120
+ "description": "Alpine script used on this site to feed the abandoned blogs select input field"
121
+ },
122
+ "Site.awardedBlogs": {
123
+ "title": "Site.awardedBlogs",
124
+ "description": "Blog aliases listed here were already awarded (=recycled) to an applicant. Those will be striked through in the search list. As each new user is only allowed one recycle blog, this list also serves as a check possibility (search for the user name)."
125
+ },
126
+ "Site.excludedBlogs": {
127
+ "title": "Site.excludedBlogs",
128
+ "description": "Blog-Aliases listed here will be excluded from the recycling process b/c they are kind of inappropriate. Please add more as you see fit!"
129
+ },
130
+ "Story.historyview": {
131
+ "title": "»kürzlich geändert« Eintrag",
132
+ "description": "Dieses Skin bestimmt wie Beiträge und Kommentare in der Liste der zuletzt geänderten Einträge dargestellt werden."
133
+ },
134
+ "Site.weblogStatus": {
135
+ "title": "Site.weblogStatus",
136
+ "description": ""
137
+ },
138
+ "Comment.edit": {
139
+ "title": "Kommentarformular",
140
+ "description": "Beinhaltet das Formular für das Erstellen eines Kommentars oder einer Antwort."
141
+ },
142
+ "Site.print": {
143
+ "title": "Site.print",
144
+ "description": "This skin holds the HTML for a print layout of all available blognames. The print will be launched into a new browser window, e.g. to save it as a PDF."
145
+ },
146
+ "Comment.historyview": {
147
+ "title": "Comment.historyview",
148
+ "description": ""
149
+ },
150
+ "Comment.anonymousCreatorForm": {
151
+ "title": "Comment.anonymousCreatorForm",
152
+ "description": "Kommentarformular für nicht angemeldete Benutzer"
153
+ },
154
+ "HopObject.modJCaptcha": {
155
+ "title": "HopObject.modJCaptcha",
156
+ "description": "Captcha-Eingabe für nicht angemeldete Kommentierer"
157
+ },
158
+ "Membership.mgrlistitem": {
159
+ "title": "Mitgliederansicht",
160
+ "description": "Skin zur Darstellung einer einzelnen Mitgliedschaft im Bereich »Mitglieder« einer Site."
161
+ },
162
+ "Mgr.page": {
163
+ "title": "Mgr.page",
164
+ "description": "Skin zur Darstellung der Admin-Seiten eines Weblogs"
165
+ },
166
+ "module.modReadingSetup": {
167
+ "title": "module.modReadingSetup",
168
+ "description": ""
169
+ },
170
+ "Poll.main": {
171
+ "title": "Hauptansicht",
172
+ "description": "Dieses Skin zeigt das Abstimmungsformular."
173
+ },
174
+ "Site.commentIcon": {
175
+ "title": "Site.commentIcon",
176
+ "description": "Ergänzt das jeweilige UserIcon vor jeden Kommentar"
177
+ },
178
+ "Site.commentIcon_min": {
179
+ "title": "Site.commentIcon_min",
180
+ "description": "Ergänzt das jeweilige UserIcon vor jeden Kommentar (minimized)"
181
+ },
182
+ "Site.foundationToolbar": {
183
+ "title": "Site.foundationToolbar",
184
+ "description": "Neue Foundation 5 Toolbar"
185
+ },
186
+ "Site.foundationToolbar_min": {
187
+ "title": "Site.foundationToolbar_min",
188
+ "description": "Neue Foundation 5 Toolbar (minimized)"
189
+ },
190
+ "Site.modReading": {
191
+ "title": "Site.modReading",
192
+ "description": ""
193
+ },
194
+ "Site.modReadingDivider": {
195
+ "title": "Site.modReadingDivider",
196
+ "description": ""
197
+ },
198
+ "Site.modReadingItem": {
199
+ "title": "Site.modReadingItem",
200
+ "description": ""
201
+ },
202
+ "Site.modToolbarDropDowns": {
203
+ "title": "Toolbar DropDowns",
204
+ "description": "Dropdowns sind in einem eigenen Skin verwaltet. Dies ermöglicht den Code weiter unten im HTML zu plazieren, um diesen erst nach dem wichtigerem Inhalt zu laden."
205
+ },
206
+ "Site.normalize": {
207
+ "title": "Site.normalize",
208
+ "description": "Normalize CSS by Nicolas Gallagher (http://necolas.github.io/normalize.css/)"
209
+ },
210
+ "Site.searchform": {
211
+ "title": "Suchformular",
212
+ "description": "Dieses Skin ist verantwortlich für die Darstellung des Suchformulars auf deiner Seite."
213
+ },
214
+ "Site.statcounter": {
215
+ "title": "Site.statcounter",
216
+ "description": "Statcounter Script"
217
+ },
218
+ "Site.flagReasons": {
219
+ "title": "Globale Texte für Beitragsmarkierungen",
220
+ "description": "In diesem Systemskin werden die gültigen Beitragsmarkierungsgründe mit ihren jeweiligen Texten in Deutsch (de) und Englisch (en) hinterlegt."
221
+ }
222
+ }
package/src/index.js CHANGED
@@ -77,7 +77,7 @@ if (argv.compare && !argv.to) {
77
77
  process.exit(1);
78
78
  }
79
79
  if (!argv.alias) {
80
- console.log("You must specify the desired alias(es) with --alias=name1,name2,... OR --alias=*");
80
+ console.log("You must specify the desired alias(es) with --alias=name1[,name2,...] OR --alias=*");
81
81
  process.exit(1);
82
82
  }
83
83
  const platform = (argv.from || argv.to).toLowerCase();