ultimate-jekyll-manager 1.9.4 → 1.9.6

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.
Files changed (62) hide show
  1. package/CLAUDE.md +6 -0
  2. package/dist/assets/css/core/_utilities.scss +5 -2
  3. package/dist/assets/js/libs/form-manager.js +7 -8
  4. package/dist/commands/install.js +2 -2
  5. package/dist/commands/setup.js +2 -1
  6. package/dist/defaults/.github/workflows/build.yml +3 -1
  7. package/dist/defaults/dist/_includes/core/body.html +1 -7
  8. package/dist/defaults/dist/_includes/themes/classy/frontend/sections/footer.html +9 -1
  9. package/dist/defaults/dist/_layouts/blueprint/admin/calendar/index.html +1 -1
  10. package/dist/defaults/dist/_layouts/blueprint/admin/firebase/index.html +2 -2
  11. package/dist/defaults/dist/_layouts/blueprint/admin/studio/index.html +1 -1
  12. package/dist/defaults/dist/_layouts/blueprint/admin/users/index.html +2 -2
  13. package/dist/defaults/dist/_layouts/blueprint/admin/users/new.html +1 -1
  14. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/account/index.html +13 -13
  15. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/auth/reset.html +2 -2
  16. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/auth/signin.html +3 -3
  17. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/auth/signup.html +3 -3
  18. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/blog/index.html +1 -1
  19. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/contact.html +1 -1
  20. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/download.html +1 -1
  21. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/feedback.html +1 -1
  22. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/index.html +2 -6
  23. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/payment/checkout.html +1 -1
  24. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/portal/email-preferences.html +2 -3
  25. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/status.html +1 -1
  26. package/dist/defaults/dist/_layouts/themes/newsflash/frontend/pages/blog/index.html +1 -1
  27. package/dist/defaults/dist/_layouts/themes/newsflash/frontend/pages/contact.html +1 -1
  28. package/dist/defaults/dist/pages/test/libraries/form-manager.html +31 -31
  29. package/dist/lib/safe-install.js +13 -0
  30. package/package.json +8 -1
  31. package/.nvmrc +0 -1
  32. package/CHANGELOG.md +0 -792
  33. package/CLAUDE-ATTRIBUTION.md +0 -215
  34. package/PROGRESS.md +0 -27
  35. package/TODO-ATTRIBUTION2.md +0 -753
  36. package/TODO-AUTH-TESTING.md +0 -165
  37. package/TODO-BACKEND.md +0 -13
  38. package/TODO-CHAT1.md +0 -41
  39. package/TODO-CONSENT-LIVETEST.md +0 -201
  40. package/TODO-NEW.md +0 -21
  41. package/TODO-themes.md +0 -34
  42. package/TODO-tracking.md +0 -69
  43. package/TODO-tracking2.md +0 -103
  44. package/TODO.md +0 -415
  45. package/_notes/CLAUDE-pages.md +0 -19
  46. package/_notes/CLAUDE-pages2.md +0 -18
  47. package/_notes/LOGOS.md +0 -1
  48. package/_notes/NOTES-app.md +0 -92
  49. package/_notes/NOTES-sub-2.md +0 -42
  50. package/_notes/NOTES-sub-ai.md +0 -165
  51. package/_notes/NOTES-sub-endpoints.md +0 -44
  52. package/_notes/NOTES-sub-example.md +0 -92
  53. package/_notes/NOTES-sub-plan.md +0 -36
  54. package/_notes/NOTES-sub-status.md +0 -123
  55. package/_notes/TODO-Claude.rtf +0 -105
  56. package/_notes/TODO-FileStructure.md +0 -249
  57. package/_notes/TODO-checkout.md +0 -33
  58. package/_notes/TODO-frontend.md +0 -61
  59. package/_notes/TODO-legacy.md +0 -18
  60. package/_notes/TODO-template-system.md +0 -73
  61. package/_notes/TODO-theme.md +0 -17
  62. package/logs/test.log +0 -144
package/TODO.md DELETED
@@ -1,415 +0,0 @@
1
- Next, we need to enable a way in the front-end and backend to enable CHANGING PLANS
2
- * it obviously depends on the processor, but I WOULD LIKE TO FULLY SUPPORT CHANING BETWEEN ALL TYPES OF PLANS AND BILLING CYCLES
3
- * so for example, a user on the plus plan monthly can change to plus annually, or pro annually
4
- * im not sure what would be the easiest place to put the interface.... it would eithe rbe
5
- * a button to a new page
6
- * a button to the same checout page with a query param
7
- * all happens inside the billing account page with a simple modal and a confirm button
8
- * what happens if the user is on a trial? can they change plans?
9
-
10
-
11
- -------
12
-
13
-
14
-
15
- -------
16
-
17
-
18
- NEW TODO
19
- - service working failing to load scripts??
20
- - test SW on live site (and lighthouse)
21
- - LOGIN NOT WORKING: email and password says its wrong, google just takes you back to the signin page and nothing happens
22
- - FIx formmanager .getData() it keeps returning an empty object, make it work flawlessyly
23
- - It keeps testing whether there is a "." every time it reads or writes. just call the getNested and setNested functions and then check for the DOT inside those functions
24
- - form manager should NOT submit if the button that was clicked is disabled (class or attribute)
25
- - GLOBAL FIXES FOR ALL UJM PROJECTS: nav.json should ahve class only not color
26
-
27
- /authentication-required
28
- * ithink this is leftover from Electron Manager auth system??? but lots on proxifly. need to make a version of it for UJM2.0
29
-
30
- Make an admin dashboard backend
31
-
32
- Admin dashboard backend pages
33
- * View and search users
34
- * Read and write to firestore
35
- * I should be able to put in a path and get the whole JSON object into a nice code textarea editor
36
- * Then i can make changes and save it back
37
- * Plan creator page
38
- * Can put in monthly and annual price and ID etc
39
- * It iwll creat the product in firestore
40
- * Create the product in stripe, paypal, etc
41
-
42
-
43
- ok now were working on THIS PAGE to ensure standardization accross all pages in terms of section layout, language, and structure. first, do our main checks like
44
- * ensuring the frontmatter sections appear in the same order as in the html
45
- * that there are no named items that could be arrays, etc
46
- * all sections in HTML have a frontmatter section that controls the content
47
- * all sections are standardized like have a heading, subheading, items, etc. dont add these if they dont make sense, but ensure that if there is HTML content hardcoded that it is converted to frontmatter content
48
- * ONLY HERO section should have an accent gradient in the heading, other ssections should NOT have this. However, other sections can have text-accent which is the cursive/brutalism accent. FOr this, only the LAST WORD should be accented and if the last word is the BRAND, it sholuld be reworded so the last word is NOT the brand name
49
- * main sections and CTA's should have a superheadline, headline, and subheadline. if any of these are missing, add them to the frontmatter and make the HTML conditional so it only appears if there is content for it
50
- * superheading should be ONE WORD if possible and should have an icon
51
- * superheading should NOT be all caps, regular case
52
-
53
- MAKE COMPONENTS? ASK CLAUDE HOW AND IF ITS POSSIBLE
54
-
55
- FIX SIGNIN/SINGUP FORM
56
-
57
- https://192.168.86.69:4000/payment/checkout?product=premium&_dev_trialEligible=true&_dev_brandId=dev&_dev_cardProcessor=stripe
58
-
59
- filter-adaptive-inverse
60
-
61
- CLAUDE FOR CONSUMIN PROJECT OLD VERSION
62
- # Identity
63
- This is a jekyll site that is "consuming" a jekyll template project called Ultimate Jekyll--a collection of components that can be used to build a Jekyll site quickly and efficiently.
64
-
65
- ## UJ Documentation
66
- You should have a full understanding of Ultimate Jekyll before editing this project, which can be found at: node_modules/ultimate-jekyll-manager/CLAUDE.md
67
-
68
- ## Notes
69
- Ultimate Jekyll expects this project to be in the following structure:
70
- /src = Editable files that are compiled to /dist by Ultimate Jekyll
71
- /dist = Compiled files that are copied to _site by Ultimate Jekyll (DO NOT EDIT THESE FILES)
72
- /_site = Compiled files that are served by Jekyll (DO NOT EDIT THESE FILES)
73
-
74
- Other files you should NOT edit:
75
- Gemfile = This is managed by Ultimate Jekyll and should not be edited by the user.
76
-
77
- Other important folders:
78
- src/pages = This is where we create pages
79
- src/redirects = This is where we create redirects
80
-
81
- CSS and JS files:
82
- src/assets/css/pages = This is where we create page-specific stylesheets (src/assets/css/pages/terms/index.scss will load with site.com/terms)
83
- src/assets/js/pages = This is where we create page-specific JavaScript files (src/assets/js/pages/terms/index.js will load with site.com/terms)
84
- src/assets/css/pages/index.scss = Stylesheet for the homepage (site.com/)
85
- src/assets/js/pages/index.js = JavaScript for the homepage (site.com/)
86
-
87
- src/assets/css/main.scss = Main stylesheet for the site (all pages will load this file)
88
- src/assets/js/main.js = Main JavaScript file for the site (all pages will load this file)
89
-
90
-
91
-
92
- REVIEW page
93
- - Make a rewarded review page. When the user lands there, it explains that they COULD win $25 Amazon giftcard for writing a reivew. They upload the screenshot then it sends them to a fake countdown page where 3 winners are picked every week. So it conts down and tells them to refresht he page. At the end of the week it picks 3 random winners but it should never axtually pick anyone and just tell them to try again next week. But it should look legit.
94
-
95
-
96
- MIGRATIONS
97
-
98
- TEST:
99
- <br>
100
- site.uj.cache_breaker={{ site.uj.cache_breaker }}
101
- <br>
102
- page.random_id={{ page.random_id }}
103
- <br>
104
-
105
-
106
- REMOVE
107
- settings.include-socialsharekit
108
- settings.blog-post-image-class
109
- settings.blog-author-image-class
110
-
111
- admin-dashboard:
112
-
113
- REMAKE main/misc/embed-manager.html in UJ
114
- REMAKE the dashboard one in UJ
115
- FINISH redirec.js in UJ
116
-
117
- # Fix notifications
118
- * UJ 2.0 for a while was making a DUPLICATE notifaction in users/{uid}/notifications/{token} AND in notifications/{token}
119
- * We can SAFELY DELETE the users/{uid}/notifications collection
120
- * EX: https://console.firebase.google.com/project/replyify-app/firestore/databases/-default-/data/~2Fnotifications~2Fsubscriptions~2Fall
121
- * Also, there are residual notifications/subscriptions/all/{token} that need to be MIGRATED to the new format
122
- * EX: https://console.firebase.google.com/project/replyify-app/firestore/databases/-default-/data/~2Fnotifications~2Fsubscriptions~2Fall~2FczUMa9wW0n3FnjpKCL5Wet:APA91bFD9YpwBqtn0i6qVabxiNl1uqIl3Ka1ObNM9CWT5NjzjnlTnyCA7e0G3Y3GGzIEcJUPoDLnGBRP3xBob99EiWItKtOuWP3Sqb906zBYJGFENIyQOJIUw43tizN5lCSq6ICgVJsZ
123
-
124
- # BEM API
125
- * Many places still use "payload.data.authenticationToken", we need to migrate to the "Bearer *" format (since WM sends that now)
126
- * Honestly, the whole API auth system needs to be rethought and redone: /Users/ian/Developer/Repositories/ITW-Creative-Works/backend-manager/src/manager/functions/core/actions/api
127
- * Write tests and then refactor the whole thing
128
- * Had an idea to make backend-manager tetss for lots of stuff? where were the notes for that?
129
-
130
- FIX THE settings like
131
- * layout.settings.manager-configuration
132
- THey are super disorganized and not consistent and some are not needed anymore
133
- * Maybe make each setting a key in settings, like
134
- settings:
135
- manager-configuration:
136
- firebase: "
137
- {}
138
- "
139
- That way, we can take advantage of the page.resolved to OVERRRIDE EVYERHING!
140
-
141
-
142
- QUESTIONS
143
- - how do we import theme CSS and JS into the bundles?
144
- - how do we handle bundles for frontend and backend?
145
- - how do we handle bundles for different themes?
146
-
147
- - easy system for a main css, js, etc bundle BUT user can make page specific bundles
148
- - uncompiled should move everything inside it to css/images/js/vendor
149
- - make an update fn that will update UJ eith er in `npx mgr setup` or a separate process
150
-
151
- - we shoudl be able to MERGE site settings
152
- - so site is default, then merge layount, then merge page (each OVERWRITING the previous one)
153
-
154
- TEMPORARY THAT WE NEED TO REMOVE
155
- src/assets/js/pages/terms/helper.js
156
- src/assets/js/pages/terms/index.js
157
- src/assets/js/pages/index.js
158
- src/assets/css/pages/index.scss
159
- src/assets/css/pages/terms/index.scss
160
-
161
- MIGRATIONS
162
- - @output/build/build.json --> build.json
163
- - there are some references inside that changed too:
164
- - npm-build --> timestamp
165
- - brand --> config.brand
166
- - admin-dashboard --> config.admin-dashboard
167
- - modules/adunits/adsense/adsense-display --> modules/adunits/adsense
168
- - and then type="display"
169
- - Same goes for every adsense type
170
- - adsense-in-article
171
- - adsense-in-feed
172
- - adsense-multiplex
173
- post:
174
- description: ---> description: (IN THE ACTUAL POSTS)
175
-
176
- site.time | date: '%s' --> site.uj.cache_breaker
177
-
178
- uj-website-json -- uj-schema-website
179
-
180
- facebook-pixel --> meta-pixel
181
-
182
- /@output/build/build.json --> /build.json
183
- // Legacy
184
- // TODO: REMOVE
185
- // 'npm-build': new Date().toISOString(),
186
- // brand: config.brand,
187
- // 'admin-dashboard': JSON5.parse(config['admin-dashboard']),
188
-
189
- Manager.properties.global, and other Manager.properties (IN UJ TOO!)
190
-
191
- Notification firestore structure/schema has changed a bit
192
-
193
- user:sign-up fetch request has new structure including context
194
-
195
- ---------
196
-
197
-
198
-
199
-
200
-
201
- THINGS TO ADD
202
- - auto cached translations
203
- - sitemap for each translation?
204
- - need to add HTML tags for each equivalent translation (not all pages have translations!!!!)
205
- - each theme should have complex COMPONENTS to easily scaffold large parts of the site
206
- - keep components consistent across themes so when we switch themes the components work still
207
- - checkout pages SHOULD BE IN EACH WEBSITE
208
- - this way, pixel events can be sent from the actual domain
209
- -
210
-
211
- // Legacy
212
- // TODO: REMOVE REFERENCES TO
213
- 'npm-build': new Date().toISOString(),
214
- brand: config.brand,
215
- 'admin-dashboard': JSON5.parse(config['admin-dashboard']),
216
-
217
- when user is required to login (auth.required=true from UJ), pass back a query that is loginRequired=true (or something similar) so that the user can be displayed a message to login. or we can just use the fact that there is a redirect query already
218
-
219
- automatic subprocessor list
220
- - https://sentry.io/legal/subprocessors/
221
-
222
- Terms of service
223
- - https://zapier.com/legal/terms-of-service
224
- - https://sentry.io/terms/
225
- - https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#the-github-terms-of-service
226
- - https://help.instagram.com/termsofuse
227
- - https://discord.com/terms
228
- - Update arbitration: https://www.equifax.com/terms/
229
-
230
- prechat-btn
231
- - should have width and height set to 0px INLINE so it doesnt appear HUGE when loading
232
- - then automatically remove the style attribute after the button is loaded
233
-
234
- https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement/fetchPriority
235
- - there is also one for images
236
- - fetchpriority="high" for critical scripts and images
237
-
238
- CONTACT
239
- <div style="display: none;">
240
- <input type="email" name="slap_honey" class="form-control" placeholder="Your Email">
241
- </div>
242
-
243
- # Translation
244
- translation:
245
- enabled: false
246
- default: "en"
247
- languages:
248
- - "en" # English
249
- - "zh" # Chinese (Simplified)
250
- - "es" # Spanish
251
- - "hi" # Hindi
252
- - "ar" # Arabic
253
- - "pt" # Portuguese
254
- - "ru" # Russian
255
- - "ja" # Japanese
256
- - "de" # German
257
- - "fr" # French
258
- - "ko" # Korean
259
- - "ur" # Urdu
260
- - "id" # Indonesian
261
- - "bn" # Bengali
262
- - "tl" # Tagalog
263
- - "vi" # Vietnamese
264
- - "it" # Italian
265
-
266
-
267
- PRICING PRODUCT
268
- <!-- Product -->
269
- <script type="application/ld+json">
270
- {
271
- "@context": "https://schema.org/",
272
- "@type": "Product",
273
- "name": "{{ page.gift.title }}",
274
- "url": "{{ site.url }}{{ page.url }}",
275
- "image": "{{ page.gift.images | first }}",
276
- "description": "{{ page.gift.description }}",
277
- "sku": "{{ page.gift.id }}",
278
- "brand": {
279
- "@type": "Brand",
280
- "name": "{{ page.gift.brand }}"
281
- },
282
- "aggregateRating": {
283
- "@type": "AggregateRating",
284
- "ratingValue": "{{ page.gift.rating_score }}",
285
- "reviewCount": "{{ page.gift.rating_count }}"
286
- },
287
- "offers": {
288
- "@type": "Offer",
289
- "url": "{{ site.url }}{{ page.url }}",
290
- "priceCurrency": "USD",
291
- "price": "{{ page.gift.price }}",
292
- "priceValidUntil": "{{ site.time | date: '%s' | plus: 2592000 | date: '%Y-%m-%d' }}",
293
- "itemCondition": "https://schema.org/NewCondition",
294
- "availability": "https://schema.org/InStock",
295
- "seller": {
296
- "@type": "Organization",
297
- "name": "{{ page.gift.brand }}"
298
- }
299
- }
300
- }
301
- </script>
302
-
303
-
304
- <script type="application/ld+json">
305
- {
306
- "@context": "https://schema.org",
307
- "@type": "SoftwareApplication",
308
- "url": "{{ site.url }}{{ page.url }}",
309
- "name": "Free AI {{ page.subject-parameters.title }} Homework Helper",
310
- "description": "A 24/7 free {{ page.subject-parameters.title }} homework AI tutor that instantly provides personalized step-by-step guidance, explanations, and examples for any {{ page.subject-parameters.title }} homework problem. Improve your grades with our AI homework helper!",
311
- "applicationCategory": "EducationalApplication",
312
- "operatingSystem": "Web-based",
313
- "offers": {
314
- "@type": "Offer",
315
- "price": "0",
316
- "priceCurrency": "USD",
317
- "availability": "https://schema.org/InStock"
318
- },
319
- "provider": {
320
- "@type": "Organization",
321
- "name": "{{ site.brand.name }}",
322
- "url": "{{ site.url }}"
323
- },
324
- "featureList": [
325
- "AI-powered step-by-step solutions",
326
- "Free AI Homework Help",
327
- "Subject-specific assistance",
328
- "Instant answers",
329
- "24/7 availability",
330
- "User-friendly interface"
331
- ],
332
- "aggregateRating": {
333
- "@type": "AggregateRating",
334
- "ratingValue": "4.9",
335
- "ratingCount": "699422"
336
- },
337
- "review": {
338
- "@type": "Review",
339
- "reviewRating": {
340
- "@type": "Rating",
341
- "ratingValue": "5"
342
- },
343
- "author": {
344
- "@type": "Person",
345
- "name": "Nora B"
346
- },
347
- "reviewBody": "{{ site.brand.name }} has been an absolute lifesaver for my homework! The AI tutor provides clear, step-by-step explanations that have helped me understand complex concepts. I love how I can get help anytime, day or night!"
348
- }
349
- }
350
- </script>
351
-
352
-
353
- MAYBE
354
- # - name: Log all files in node_modules/ultimate-jekyll-manager
355
- # run: |
356
- # echo "All files in node_modules/ultimate-jekyll-manager: "
357
- # ls -R node_modules/ultimate-jekyll-manager
358
- # - name: Fetch ensure-production-build.js
359
- # run: |
360
- # [ -d node_modules/ultimate-jekyll-manager ] || mkdir -p node_modules/ultimate-jekyll-manager
361
- # curl -L https://raw.githubusercontent.com/itw-creative-works/ultimate-jekyll-manager/refs/heads/master/src/ensure-production-build.js > node_modules/ultimate-jekyll-manager/ensure-production-build.js
362
- # - name: Log all files in repo
363
- # run: |
364
- # echo "All files in the repo: "
365
- # ls -R *
366
- # - name: Run node build
367
- # # run: npm run build -- --buildLocation='server'
368
- # run: |
369
- # UJ_BUILD_MODE=true UJ_IS_SERVER=true node node_modules/ultimate-jekyll-manager/ensure-production-build.js && npx mgr setup && npm run build
370
- # - name: Create build.json
371
- # run: |
372
- # export TZ=UTC date
373
- # timestamp=$(date +%FT%TZ)
374
- # temp_build_json=$(cat @output/build/build.json)
375
-
376
- # echo account: $GITHUB_ACTOR
377
- # echo repo: $GITHUB_REPOSITORY
378
- # echo timestamp: $timestamp
379
- # echo build.json: $temp_build_json
380
-
381
- # build_log_path="@output/build/build.json"
382
- # sed "s/%GHP_TIMESTAMP%/$timestamp/g" $build_log_path > "$build_log_path"-temp && mv "$build_log_path"-temp $build_log_path
383
-
384
- # sed -n '1h;1!H;${;g;s/GEN>>>.*<<<GEN/<REDACTED FOR LIVE PUBLISH>/g;p;}' .gitignore > .gitignore
385
- # - name: Delete gh-pages branch
386
- # uses: dawidd6/action-delete-branch@v3
387
- # with:
388
- # github_token: ${{ secrets.GH_TOKEN }}
389
- # branches: gh-pages
390
- # soft_fail: true
391
-
392
- # - name: Purge artifacts
393
- # uses: c-hive/gha-remove-artifacts@v1
394
- # with:
395
- # ages: '5 minutes' # '<number> <unit>', e.g. 5 days, 2 years, 90 seconds, parsed by Moment.js
396
- # # Optional inputs
397
- # # skip-tags: true
398
- # # skip-recent: 5
399
- # - name: Purge artifacts
400
- # uses: geekyeggo/delete-artifact@v5
401
- # with:
402
- # name: github-pages
403
-
404
- "deploy": "UJ_BUILD_MODE=true UJ_IS_SERVER=true npx mgr setup && npm run build"
405
-
406
-
407
- tempalte names
408
-
409
- - clear
410
- - glass
411
- - classy
412
- - glassy
413
- - flassy
414
- - modern
415
- -
@@ -1,19 +0,0 @@
1
- CLAUDE
2
-
3
- I need help designing the flow of the page/theme/layout system.
4
-
5
- src/defaults/src/pages
6
- * These pages are copied over to new sites when they are setup with Ultimate Jekyll so the user can have a site up and running instantly.
7
- * For example, "src/defaults/src/pages/legal/terms.md" is copied to the consuming project so they have a terms of service page ready to go. You can see it uses the layout "blueprint/legal/terms"
8
-
9
- src/defaults/dist/_layouts/blueprint/legal/terms.md
10
- * This is the layout file for the terms of service page. It basically just has the ToS text.
11
- * You can see it uses the layout "themes/[ site.theme.id ]/frontend/core/minimal" (id is set in a gulp task)
12
-
13
- So: this means that every theme must have a "frontend/core/minimal" layout that can be used for the terms of service page.
14
- * This is a good system but can quickly get out of hand if we need many different layouts.
15
- * For example, I want to make a contact page. Now, we cant do it the same way because we need an actual contact form instead of just text.
16
-
17
- Side note: "src/defaults/dist/pages" these pages are copied to the consuming project AS DEFAULTS and anything in the user's project will override the defaults.
18
-
19
- My idea is that in the theme frontend folder, we can hve some "base" layouts like "src/defaults/dist/_layouts/themes/bootstrap/frontend/core/minimal.html" and then one for each complex page like "src/defaults/dist/_layouts/themes/bootstrap/frontend/contact.html".
@@ -1,18 +0,0 @@
1
- I need help designing some pages for Ultimate Jekyll.
2
-
3
- Heres some notes
4
- * All pages you design should USE BOOTSTRAP 5.3.1 and be responsive. Use Bootstrap classes for layout and styling
5
- * Layouts, grids, sectioons, dropdowns, buttons, etc.
6
- * Bootstrap is already included in the project, so you can use its classes directly.
7
- * Avoid using custom CSS unless absolutely necessary.
8
- * Use proper classes for light/dark mode support (avoid bg-light/bg-dark and use classes like bg-body-secondary, bg-body-tertiary, etc.)
9
-
10
- Page html location:
11
- * src/defaults/dist/_layouts/themes/bootstrap/frontend/pages/{page}.html
12
- * These pages hoist a layout that includes header and footer so JUST FOCUS ON THE CONTENT OF THE PAGE.
13
-
14
- Page JS location:
15
- * src/assets/js/pages/{page}/index.js
16
-
17
- Page CSS location:
18
- * src/assets/css/pages/{page}/index.scss
package/_notes/LOGOS.md DELETED
@@ -1 +0,0 @@
1
- https://worldvectorlogo.com/search/wordmark
@@ -1,92 +0,0 @@
1
- {
2
- "server": "https://us-central1-studymonkey-ai.cloudfunctions.net",
3
- "images": {
4
- "combomark": "https://cdn.itwcreativeworks.com/assets/studymonkey/images/logo/studymonkey-combomark-black-1024x.png",
5
- "brandmark": "https://cdn.itwcreativeworks.com/assets/studymonkey/images/logo/studymonkey-brandmark-black-1024x1024.png",
6
- "wordmark": "https://cdn.itwcreativeworks.com/assets/studymonkey/images/logo/studymonkey-wordmark-black-1024x.png"
7
- },
8
- "github": {
9
- "repo": "studymonkey-website",
10
- "user": "ianwieds"
11
- },
12
- "apiKeys": {
13
- "stripe": {
14
- "publishableKey": "pk_live_51Mirn8HGybgi7uQGuE5IcaED0VByYRfVXGUmBDqnUyldcf2BJrpiFCDmwu4NoSDv34LMBw5mfCNdB3pmRki0jhmx00jFgW4akz"
15
- },
16
- "chatsy": {
17
- "accountId": "EG6j4wzyykSrHluANgIVTvyjzyu1",
18
- "chatId": "LP8IKB0sRjARSO"
19
- },
20
- "paypal": {
21
- "clientId": "AQSXMAqVuJYriyKEpaEc9xhS4hkm7iSlLjNRXSBdkM234figh599SMQbc0VMfYrm2Vh74J3u4jdeFYH9"
22
- },
23
- "chargebee": {
24
- "siteKey": ""
25
- }
26
- },
27
- "oauth2": {
28
- "discord": {
29
- "scope": ["identify", "guilds", "guilds.join"],
30
- "enabled": true
31
- },
32
- "google": {
33
- "enabled": false
34
- }
35
- },
36
- "url": "https://studymonkey.ai",
37
- "products": {
38
- "studymonkey-homework-helper": {
39
- "successURLText": "Start Studying!",
40
- "name": "StudyMonkey Homework Helper",
41
- "monthly": {
42
- "stripeProductId": "prod_NTqQASoK03O5fP",
43
- "price": 8,
44
- "chargebeePlanId": "",
45
- "paypalPlanId": "plan.id",
46
- "stripePriceId": "price_1MisjzHGybgi7uQGw5MH7VZx"
47
- },
48
- "successURL": "https://studymonkey.ai/dashboard",
49
- "planId": "homework-helper",
50
- "spreadsheetId": "1d0elQATs7mpur6IwlyWy_7s2vWvUZYT0nfF2WtTiKjQ",
51
- "type": "subscription",
52
- "limits": {
53
- "devices": 3,
54
- "requests": 50
55
- },
56
- "trial": 14,
57
- "annually": {
58
- "stripeProductId": "prod_NTqYLkXCOhAwa5",
59
- "price": 72,
60
- "chargebeePlanId": "",
61
- "paypalPlanId": "plan.id",
62
- "stripePriceId": "price_1MisrnHGybgi7uQGn0XOVjRo"
63
- }
64
- }
65
- },
66
- "reviews": {
67
- "sites": ["https://www.trustpilot.com/review/studymonkey.ai"]
68
- },
69
- "name": "StudyMonkey",
70
- "id": "studymonkey",
71
- "brand": {
72
- "description": "StudyMonkey is an AI-powered tutor that helps you with your homework and studying."
73
- },
74
- "dashboard": true,
75
- "email": "support@studymonkey.ai",
76
- "sponsorships": {
77
- "acceptable": ["education", "academic"],
78
- "unacceptable": ["online homework services", "essay writing service", "online writing services"],
79
- "prices": {
80
- "guest-post": 40,
81
- "link-insertion": 30
82
- }
83
- },
84
- "authentication": {
85
- "password": {
86
- "enabled": true
87
- },
88
- "google.com": {
89
- "enabled": true
90
- }
91
- }
92
- }
@@ -1,42 +0,0 @@
1
- // Flags for special conditions
2
- flags: {
3
- hasDispute: false,
4
- hasRefund: false,
5
- isDelinquent: false,
6
- requiresAction: false,
7
- autoRenewEnabled: true,
8
- cancellationRequested: false,
9
- },
10
-
11
- // Dispute information (if applicable)
12
- dispute: {
13
- active: false,
14
- createdAt: timestamp,
15
- amount: 99.99,
16
- reason: "fraudulent",
17
- status: "warning_needs_response",
18
- dueBy: timestamp,
19
- evidence: {
20
- submitted: false,
21
- documents: []
22
- }
23
- },
24
-
25
- // Refund information (if applicable)
26
- refunds: [
27
- {
28
- id: "refund-xxx",
29
- amount: 99.99,
30
- reason: "customer_request",
31
- createdAt: timestamp,
32
- metadata: {}
33
- }
34
- ],
35
-
36
- // Cancellation details (if cancelled)
37
- cancellation: {
38
- requestedAt: timestamp,
39
- effectiveAt: timestamp, // When it actually ends
40
- reason: "too_expensive",
41
- feedback: "Price increased too much",
42
- },