@meith/plugin-reference 0.9.0 → 0.11.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meith/plugin-reference",
3
- "version": "0.9.0",
3
+ "version": "0.11.0",
4
4
  "description": "The reference plugin: a handler for every hook Meith fires, as documentation that runs.",
5
5
  "license": "LGPL-3.0-or-later",
6
6
  "repository": {
@@ -20,7 +20,7 @@
20
20
  "access": "public"
21
21
  },
22
22
  "dependencies": {
23
- "@meith/plugin-kit": "^0.9.0"
23
+ "@meith/plugin-kit": "^0.11.0"
24
24
  },
25
25
  "peerDependencies": {
26
26
  "react": "^19.2.0"
@@ -3,6 +3,7 @@
3
3
  "reference.admin.status.title": "Reference plugin",
4
4
  "reference.definition.description": "Exercises every documented extension point. Installed in CI, not on a board.",
5
5
  "reference.definition.name": "Reference plugin",
6
+ "reference.nav.label": "Reference",
6
7
  "reference.notification.poked.body": "The reference plugin exercised the notification seam.",
7
8
  "reference.notification.poked.description": "Exists to exercise the notification seam end to end.",
8
9
  "reference.notification.poked.subject": "You were poked",
package/src/plugin.tsx CHANGED
@@ -49,7 +49,7 @@ export const referencePlugin = definePlugin({
49
49
  key: 'reference',
50
50
  name: en['reference.definition.name'],
51
51
  nameKey: 'reference.definition.name',
52
- version: '0.9.0',
52
+ version: '0.11.0',
53
53
  description: en['reference.definition.description'],
54
54
  descriptionKey: 'reference.definition.description',
55
55
  apiVersion: '0',
@@ -228,6 +228,16 @@ export const referencePlugin = definePlugin({
228
228
  },
229
229
  ],
230
230
 
231
+ navigation: [
232
+ {
233
+ key: 'reference',
234
+ label: en['reference.nav.label'],
235
+ labelKey: 'reference.nav.label',
236
+ path: '',
237
+ audience: 'members',
238
+ },
239
+ ],
240
+
231
241
  allowedRedirectHosts: ['example.com'],
232
242
 
233
243
  contributions: REGION_NAMES.map(contribution),
@@ -238,6 +248,35 @@ export const referencePlugin = definePlugin({
238
248
  onUninstall: () => void RECORDED.lifecycle.push('uninstall'),
239
249
 
240
250
  hooks: {
251
+ 'markdown.parse.text': (value) => {
252
+ record('markdown.parse.text', value)
253
+ return value.replaceAll('[[reference]]', MARK)
254
+ },
255
+ 'markdown.render.html': (value) => {
256
+ record('markdown.render.html', value)
257
+ return value
258
+ },
259
+ 'markdown.directives': (value) => {
260
+ record('markdown.directives', value)
261
+ return [...value, { name: 'reference', block: true }]
262
+ },
263
+ 'post.body.html': (value) => {
264
+ record('post.body.html', value)
265
+ return `${value}<p data-plugin="${MARK}">${MARK}</p>`
266
+ },
267
+ 'signature.html': (value) => {
268
+ record('signature.html', value)
269
+ return `${value}<span data-plugin="${MARK}">${MARK}</span>`
270
+ },
271
+ 'smilies.list': (value) => {
272
+ record('smilies.list', value)
273
+ return [...value, { code: ':reference:', src: '/reference.png', alt: MARK }]
274
+ },
275
+ 'word-filter.patterns': (value) => {
276
+ record('word-filter.patterns', value)
277
+ return [...value, { pattern: 'unmentionable', replacement: MARK, wholeWord: true }]
278
+ },
279
+
241
280
  'view.shell': (value) => {
242
281
  record('view.shell', value)
243
282
  return value
@@ -372,6 +411,214 @@ export const referencePlugin = definePlugin({
372
411
  record('post.edited', value)
373
412
  },
374
413
 
414
+ 'view.navigation': (value) => {
415
+ record('view.navigation', value)
416
+ return value
417
+ },
418
+ 'view.notice': (value) => {
419
+ record('view.notice', value)
420
+ return value
421
+ },
422
+ 'view.category-block': (value) => {
423
+ record('view.category-block', value)
424
+ return value
425
+ },
426
+ 'view.post-form': (value) => {
427
+ record('view.post-form', value)
428
+ return value
429
+ },
430
+ 'view.redirect-notice': (value) => {
431
+ record('view.redirect-notice', value)
432
+ return value
433
+ },
434
+ 'thread.create.before': (value) => {
435
+ record('thread.create.before', value)
436
+ return value
437
+ },
438
+ 'post.create.before': (value) => {
439
+ record('post.create.before', value)
440
+ return value
441
+ },
442
+ 'post.edit.before': (value) => {
443
+ record('post.edit.before', value)
444
+ return value
445
+ },
446
+ 'notification.create.before': (value) => {
447
+ record('notification.create.before', value)
448
+ return value
449
+ },
450
+ 'mail.send.before': (value) => {
451
+ record('mail.send.before', value)
452
+ return value
453
+ },
454
+ 'pm.send.before': (value) => {
455
+ record('pm.send.before', value)
456
+ return value
457
+ },
458
+ 'search.query.before': (value) => {
459
+ record('search.query.before', value)
460
+ return value
461
+ },
462
+ 'search.results': (value) => {
463
+ record('search.results', value)
464
+ return value
465
+ },
466
+ 'feed.items': (value) => {
467
+ record('feed.items', value)
468
+ return value
469
+ },
470
+ 'sitemap.entries': (value) => {
471
+ record('sitemap.entries', value)
472
+ return value
473
+ },
474
+ 'metadata.page': (value) => {
475
+ record('metadata.page', value)
476
+ return value
477
+ },
478
+ 'admin.navigation': (value) => {
479
+ record('admin.navigation', value)
480
+ return value
481
+ },
482
+ 'thread.create.validate': (value) => {
483
+ record('thread.create.validate', value)
484
+ return value
485
+ },
486
+ 'post.create.validate': (value) => {
487
+ record('post.create.validate', value)
488
+ return value
489
+ },
490
+ 'attachment.upload.validate': (value) => {
491
+ record('attachment.upload.validate', value)
492
+ return value
493
+ },
494
+ 'user.register.validate': (value) => {
495
+ record('user.register.validate', value)
496
+ return value
497
+ },
498
+ 'post.delete.before': (value) => {
499
+ record('post.delete.before', value)
500
+ },
501
+ 'post.deleted': (value) => {
502
+ record('post.deleted', value)
503
+ },
504
+ 'post.restored': (value) => {
505
+ record('post.restored', value)
506
+ },
507
+ 'thread.moved': (value) => {
508
+ record('thread.moved', value)
509
+ },
510
+ 'thread.merged': (value) => {
511
+ record('thread.merged', value)
512
+ },
513
+ 'thread.split': (value) => {
514
+ record('thread.split', value)
515
+ },
516
+ 'thread.locked': (value) => {
517
+ record('thread.locked', value)
518
+ },
519
+ 'thread.stickied': (value) => {
520
+ record('thread.stickied', value)
521
+ },
522
+ 'attachment.uploaded': (value) => {
523
+ record('attachment.uploaded', value)
524
+ },
525
+ 'attachment.deleted': (value) => {
526
+ record('attachment.deleted', value)
527
+ },
528
+ 'poll.created': (value) => {
529
+ record('poll.created', value)
530
+ },
531
+ 'poll.voted': (value) => {
532
+ record('poll.voted', value)
533
+ },
534
+ 'rating.recorded': (value) => {
535
+ record('rating.recorded', value)
536
+ },
537
+ 'report.created': (value) => {
538
+ record('report.created', value)
539
+ },
540
+ 'report.resolved': (value) => {
541
+ record('report.resolved', value)
542
+ },
543
+ 'approval.queued': (value) => {
544
+ record('approval.queued', value)
545
+ },
546
+ 'approval.decided': (value) => {
547
+ record('approval.decided', value)
548
+ },
549
+ 'warning.issued': (value) => {
550
+ record('warning.issued', value)
551
+ },
552
+ 'warning.revoked': (value) => {
553
+ record('warning.revoked', value)
554
+ },
555
+ 'moderation.logged': (value) => {
556
+ record('moderation.logged', value)
557
+ },
558
+ 'user.registered': (value) => {
559
+ record('user.registered', value)
560
+ },
561
+ 'user.activated': (value) => {
562
+ record('user.activated', value)
563
+ },
564
+ 'user.login.attempted': (value) => {
565
+ record('user.login.attempted', value)
566
+ },
567
+ 'user.logged-in': (value) => {
568
+ record('user.logged-in', value)
569
+ },
570
+ 'user.logged-out': (value) => {
571
+ record('user.logged-out', value)
572
+ },
573
+ 'user.banned': (value) => {
574
+ record('user.banned', value)
575
+ },
576
+ 'user.unbanned': (value) => {
577
+ record('user.unbanned', value)
578
+ },
579
+ 'user.groups.changed': (value) => {
580
+ record('user.groups.changed', value)
581
+ },
582
+ 'user.profile.updated': (value) => {
583
+ record('user.profile.updated', value)
584
+ },
585
+ 'user.merged': (value) => {
586
+ record('user.merged', value)
587
+ },
588
+ 'user.deleted': (value) => {
589
+ record('user.deleted', value)
590
+ },
591
+ 'notification.created': (value) => {
592
+ record('notification.created', value)
593
+ },
594
+ 'mail.sent': (value) => {
595
+ record('mail.sent', value)
596
+ },
597
+ 'pm.sent': (value) => {
598
+ record('pm.sent', value)
599
+ },
600
+ 'subscription.changed': (value) => {
601
+ record('subscription.changed', value)
602
+ },
603
+ 'reputation.changed': (value) => {
604
+ record('reputation.changed', value)
605
+ },
606
+ 'settings.saved': (value) => {
607
+ record('settings.saved', value)
608
+ },
609
+ 'task.run.before': (value) => {
610
+ record('task.run.before', value)
611
+ },
612
+ 'task.run.after': (value) => {
613
+ record('task.run.after', value)
614
+ },
615
+ 'cache.invalidated': (value) => {
616
+ record('cache.invalidated', value)
617
+ },
618
+ 'plugin.enabled': (value) => {
619
+ record('plugin.enabled', value)
620
+ },
621
+
375
622
  'plugin.disabled': {
376
623
  priority: 200,
377
624
  handler: (value) => {