wiki-plugin-mech 0.1.9 → 0.1.10

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.
@@ -0,0 +1,563 @@
1
+ Ep. 581 George Stephanopoulos
2
+ Ep. 580 Jen Psaki
3
+ Ep. 579 Cyrus Habib
4
+ Ep. 578 Frank Bruni
5
+ Ep. 577 Ken Buck
6
+ Ep. 576 Fareed Zakaria
7
+ Ep. 575 Speaker Emerita Nancy Pelosi
8
+ Ep. 574 Sister Simone Campbell
9
+ Ep. 573 David Plouffe and Karl Rove
10
+ Ep. 572 Chris Christie
11
+ Ep. 571 Michael Crow
12
+ Ep. 570 Rep. Pete Aguilar
13
+ Ep. 569 Bill Bradley
14
+ Ep. 568 Thomas Friedman
15
+ Ep. 567 Sen. Raphael Warnock
16
+ Ep. 566 Stephanie Murphy
17
+ Ep. 565 Jeff Zeleny
18
+ Ep. 564 John Miller
19
+ Ep. 563 Mick Mulvaney
20
+ Ep. 562 Cassidy Hutchinson
21
+ Ep. 561 Sara Paretsky
22
+ Ep. 560 Tim Alberta
23
+ Ep. 559 Sen. Mallory McMorrow
24
+ Ep. 558 Walter Massey
25
+ Ep. 557 Amb. David Pressman
26
+ Ep. 556 Obama 15-Year Anniversary Special�����
27
+ Ep. 555 McKay Coppins
28
+ Ep. 554 Ilana Dayan
29
+ Ep. 553 Walter Isaacson
30
+ Ep. 552 David French
31
+ Ep. 551 Lawrence Wright
32
+ Ep. 550 Susan Rice
33
+ Ep. 549 Gov. Jay Inslee
34
+ Ep. 548 Scott Galloway
35
+ Ep. 547 Amb. Oksana Markarova
36
+ Ep. 546 Sally Yates
37
+ Ep. 545 Arthur Brooks
38
+ Ep. 544 John Podesta
39
+ Ep. 543 John King
40
+ Ep. 542 Adrian Perkins
41
+ Ep. 541 Sen. Tammy Baldwin
42
+ Ep. 540 Jon Meacham
43
+ Ep. 539 Supervisor Bill Gates
44
+ Ep. 538 President Barack Obama
45
+ Ep. 537 Kaitlan Collins
46
+ Ep. 536 Michael Wilbon
47
+ Ep. 535 Sen. Mark Kelly
48
+ Ep. 534 Gretchen Carlson
49
+ Ep. 533 Gov. J.B. Pritzker
50
+ Ep. 532 Rep. Katie Porter
51
+ Ep. 531 Brandon Johnson
52
+ Ep. 530 Asa Hutchinson
53
+ Ep. 529 Neil King Jr.
54
+ Ep. 528 Theo Epstein
55
+ Ep. 527 Jen Easterly
56
+ Ep. 526 John Hendrickson
57
+ Ep. 525 Amb. Michael McFaul
58
+ Ep. 524 Peter Meijer
59
+ Ep. 523 Beto O'Rourke
60
+ Ep. 522 Amb. Tom Nides
61
+ Ep. 521 Gov. Gavin Newsom
62
+ Ep. 520 Tim Ryan
63
+ Ep. 519 Sec. Antony Blinken
64
+ Ep. 518 Amanda Gorman
65
+ Ep. 517 Gov. Chris Sununu
66
+ Ep. 516 Gov. Gretchen Whitmer
67
+ Ep. 515 Dr. Anthony Fauci
68
+ Ep. 514 Wes Moore
69
+ Ep. 513 Mike Pence
70
+ Ep. 512 Sen. Alex Padilla
71
+ Ep. 511 Speaker Rusty Bowers
72
+ Ep. 510 Major Garrett
73
+ Ep. 508 Maggie Haberman
74
+ Ep. 507 Cody Keenan
75
+ Ep. 506 Doug Jones
76
+ Ep. 505 Beth Macy
77
+ Ep. 504 Chris Wallace
78
+ Ep. 503 Rep. Adam Kinzinger
79
+ Ep. 502 Henry Kissinger
80
+ Ep. 501 Jason Kander
81
+ Ep. 500 John Legend
82
+ Ep. 499 David Chalian
83
+ Ep. 498 Gov. Jared Polis
84
+ Ep. 497 Sen. Chris Murphy
85
+ Ep. 496 Kellyanne Conway
86
+ Ep. 495 Rep. Fred Upton
87
+ Ep. 494 John Dean
88
+ Ep. 493 Arne Duncan and Curtis Toler
89
+ Ep. 492 Gov. Pete Ricketts
90
+ Ep. 491 Chris Krebs
91
+ Ep. 490 Rep. Jackie Speier
92
+ Ep. 489 Shaka Senghor
93
+ Ep. 488 Al Franken
94
+ Ep. 487 Amb. Michael McFaul
95
+ Ep. 486 Sarah Longwell
96
+ Ep. 485 Maria Ressa
97
+ Ep. 484 Anne Applebaum
98
+ Ep. 483 Tony Fabrizio
99
+ Ep. 482 Amb. Marie Yovanovitch
100
+ Ep. 481 Erin Burnett
101
+ Ep. 480 Frank Bruni
102
+ Ep. 479 Bianna Golodryga
103
+ Ep. 478 Lotfullah Najafizada
104
+ Ep. 477 Sen. Jon Tester
105
+ Ep. 476 Ian Bremmer
106
+ Ep. 475 Rt. Hon. Gordon Brown
107
+ Ep. 474 Amb. Andrew Young
108
+ Ep. 473 Barton Gellman
109
+ Ep. 472 Rep. Jamie Raskin
110
+ Ep. 471 Rep. Elissa Slotkin
111
+ Ep. 470 Gen. Stanley McChrystal
112
+ Ep. 469 Marc Short
113
+ Ep. 468 Chris Christie
114
+ Ep. 467 Rep. Pramila Jayapal
115
+ Ep. 466 Fiona Hill
116
+ Ep. 465 Russell Moore
117
+ Ep. 464 Anderson Cooper
118
+ Ep. 463 Evan Osnos
119
+ Ep. 462 Robert Costa
120
+ Ep. 461 Monica Lewinsky
121
+ Ep. 460 Ken Burns
122
+ Ep. 459 Clarissa Ward
123
+ Ep. 458 Lt. Col. Alexander Vindman
124
+ Ep. 457 Dr. Leana Wen
125
+ Ep. 456 Rep. Raja Krishnamoorthi
126
+ Ep. 455 Anne Applebaum
127
+ Ep. 454 Amy Walter
128
+ Ep. 453 Stephanie Cutter
129
+ Ep. 452 John Anzalone
130
+ Ep. 451 Ben Rhodes
131
+ Ep. 450 Nathan Law
132
+ Ep. 449 Surgeon General Vivek Murthy
133
+ Ep. 448 Cecile Richards
134
+ Ep. 447 Rep. Liz Cheney
135
+ Ep. 446 Prime Minister Jacinda Ardern
136
+ Ep. 445 Heather McTeer Toney
137
+ Ep. 444 Justin Amash
138
+ Ep. 443 Sally Yates
139
+ Ep. 442 Jen Psaki
140
+ Ep. 441 Speaker John Boehner
141
+ Ep. 440 Amb. Linda Thomas-Greenfield
142
+ Ep. 439 Jamie Dimon
143
+ Ep. 438 Sen. Tammy Duckworth
144
+ Ep. 437 Bud Selig
145
+ Ep. 436 Rev. Dr. William Barber
146
+ Ep. 435 Kara Swisher
147
+ Ep. 434 Mayor Keisha Lance Bottoms
148
+ Ep. 433 Tim Alberta
149
+ Ep. 432 Rep. Joe Neguse
150
+ Ep. 431 Fareed Zakaria
151
+ Ep. 430 Heidi Heitkamp
152
+ Ep. 429 Daniel Goldman
153
+ Ep. 428 Andrew McCabe
154
+ Ep. 427 Rep. Adam Kinzinger
155
+ Ep. 426 Doris Kearns Goodwin
156
+ Ep. 425 Joe Scarborough
157
+ Ep. 424 Rep. Ayanna Pressley
158
+ Ep. 423 Rep. Alexandria Ocasio-Cortez
159
+ Ep. 422 Dan Rather
160
+ Ep. 421 Abby Phillip
161
+ Ep. 420 Sen. Mitt Romney
162
+ Ep. 419 Gov. Andrew Cuomo
163
+ Ep. 418 David Plouffe
164
+ Ep. 417 Jon Meacham
165
+ Ep. 416 Mandy Patinkin
166
+ Ep. 415 Nina Totenberg
167
+ Ep. 414 Susan Page
168
+ Ep. 413 Peter Baker and Susan Glasser
169
+ Ep. 412 Amb. John Bolton
170
+ Ep. 411 Bob Costas
171
+ Ep. 410 Sen. Sherrod Brown
172
+ Ep. 409 Nicolle Wallace
173
+ Ep. 408 Tim O'Brien
174
+ Ep. 407 Sen. Bernie Sanders
175
+ Ep. 406 Jeff Daniels
176
+ Ep. 405 Nikole Hannah-Jones
177
+ Ep. 404 Brian Stelter
178
+ Ep. 403 Chasten Buttigieg
179
+ Ep. 402 Rep. Jim Clyburn
180
+ Ep. 401 Jonathan Karl
181
+ Ep. 400 Speaker Nancy Pelosi
182
+ Ep. 399 Tina Tchen
183
+ Ep. 398 Rep. Karen Bass
184
+ Ep. 397 Gov. Larry Hogan
185
+ Ep. 396 Dr. Anthony Fauci
186
+ Ep. 395 Erik Larson
187
+ Ep. 394 Atul Gawande
188
+ Ep. 393 Shannon Watts
189
+ Ep. 392 Jon Stewart
190
+ Ep. 391 Charlie Sykes
191
+ Ep. 390 Bakari Sellers
192
+ Ep. 389 Mark Cuban
193
+ Ep. 388 Ezra Klein
194
+ Ep. 387 Gene Sperling
195
+ Ep. 386 Mayor Lori Lightfoot
196
+ Ep. 385 Mary Kay Henry
197
+ Ep. 384 Gayle Smith
198
+ Ep. 383 Megan Rapinoe
199
+ Ep. 382 Cecilia Mun?oz
200
+ Ep. 381 Stacey Abrams
201
+ Ep. 380 Gov. Gretchen Whitmer
202
+ Ep. 379 Chris Christie
203
+ Ep. 378 Dr. Sanjay Gupta
204
+ Ep. 377 Gerald Butts
205
+ Ep. 376 Ron Klain
206
+ Ep. 375 Denis McDonough
207
+ Ep. 374 Rep. Abigail Spanberger
208
+ Ep. 373 Andrew Gillum
209
+ Ep. 372 Paul Krugman
210
+ Ep. 371 Adam Frankel
211
+ Ep. 370 Abdul El-Sayed
212
+ Ep. 369 Nicholas Kristof and Sheryl WuDunn
213
+ Ep. 368 Rep. Adam Schiff
214
+ Ep. 367 Michele Norris
215
+ Ep. 366 David Gergen
216
+ Ep. 365 Judd Apatow
217
+ Ep. 364 Fusion GPS (Glenn Simpson and Peter Fritsch)
218
+ Ep. 363 John Heilemann
219
+ Ep. 362 Heather McGhee
220
+ Ep. 361 Sarah Hurwitz
221
+ Ep. 360 Richard Stengel
222
+ Ep. 359 Andrew Yang
223
+ Ep. 358 Gary Cohn
224
+ Ep. 357 Amb. Dennis Ross
225
+ Ep. 356 Samantha Power
226
+ Ep. 355 Cindy McCain (TV)
227
+ Ep. 354 Dikembe Mutombo
228
+ Ep. 352 Admiral Michael Mullen
229
+ Ep. 351 Harry Reid (TV)
230
+ Ep. 350 Gov. Gina Raimondo
231
+ Ep. 349 Admiral William McRaven
232
+ Ep. 348 George Will
233
+ Ep. 347 Eric Holder (TV)
234
+ Ep. 342 Will Hurd
235
+ Ep. 340 Pete Buttigieg (TV)
236
+ Ep. 338 David Remnick
237
+ Ep. 327 Janet Napolitano
238
+ Ep. 326 Sen. Cory Booker (TV)
239
+ Ep. 325 Bill Burns
240
+ Ep. 324 Jason Rezaian
241
+ Ep. 323 James Carville
242
+ Ep. 322 Bryan Cranston
243
+ Ep. 321 Valerie Jarrett
244
+ Ep. 320 Rep. Jan Schakowsky
245
+ Ep. 319 Beto O'Rourke (TV)
246
+ Ep. 318 Tommy Vietor
247
+ Ep. 317 Peter Roskam
248
+ Ep. 316 Alex Kotlowitz
249
+ Ep. 315 Jeb Bush (TV)
250
+ Ep. 314 Alyssa Mastromonaco
251
+ Ep. 313 Sen. Elizabeth Warren (TV)
252
+ Ep. 312 Bill Kurtis
253
+ Ep. 311 Claire McCaskill
254
+ Ep. 310 Michael Smerconish
255
+ Ep. 309 Lisa Madigan
256
+ Ep. 308 Kirsten Powers
257
+ Ep. 307 Nate Silver
258
+ Ep. 306 Rep. Hakeem Jeffries
259
+ Ep. 305 Josh Shapiro
260
+ Ep. 304 John Delaney
261
+ Ep. 303 David Leonhardt
262
+ Ep. 302 Stanley McChrystal
263
+ Ep. 301 John Kerry (TV)
264
+ Ep. 300 Sherrilyn Ifill
265
+ Ep. 299 Miguel Cervantes
266
+ Ep. 298 Ivo Daalder
267
+ Ep. 297 Gov. J.B. Pritzker
268
+ Ep. 296 Rep. Eric Swalwell
269
+ Ep. 295 Howard Wolfson
270
+ Ep. 294 Al Hunt
271
+ Ep. 293 Rahm Emanuel (TV)
272
+ Ep. 292 Bryan Stevenson
273
+ Ep. 291 Jeff Zucker
274
+ Ep. 290 Amanda Carpenter
275
+ Ep. 289 Chris Dodd
276
+ Ep. 288 Barack Obama (Live)
277
+ Ep. 287 Sonia Sotomayor
278
+ Ep. 286 Mark Salter
279
+ Ep. 285 Gloria Borger
280
+ Ep. 284 Jen Psaki
281
+ Ep. 283 Arnold Schwarzenegger
282
+ Ep. 282 Steve Brill
283
+ Ep. 281 Steve Schmidt
284
+ Ep. 280 Jonah Goldberg
285
+ Ep. 279 Jeff Weaver
286
+ Ep. 278 Mary Katharine Ham
287
+ Ep. 277 Khizr Khan
288
+ Ep. 276 Ana Navarro
289
+ Ep. 275 Steven Pearlstein
290
+ Ep. 274 Chuck Todd
291
+ Ep. 273 Gov. Steve Bullock
292
+ Ep. 272 Roberta Jacobson
293
+ Ep. 271 Peter Sagal
294
+ Ep. 270 Bob Shrum
295
+ Ep. 269 Deval Patrick (TV)
296
+ Ep. 268 Susan Glasser
297
+ Ep. 267 Jon Lovett
298
+ Ep. 266 Austan Goolsbee
299
+ Ep. 265 Rep. Mike Quigley
300
+ Ep. 264 Dean Baquet & Marty Baron
301
+ Ep. 263 Ace Smith
302
+ Ep. 262 Judy Woodruff
303
+ Ep. 261 Anne Burke
304
+ Ep. 260 Tim Shriver
305
+ Ep. 259 Mitch Landrieu (TV)
306
+ Ep. 258 Dan Pfeiffer
307
+ Ep. 257 John King Jr.
308
+ Ep. 256 Nneka Jones Tapia
309
+ Ep. 255 Mike Barnicle
310
+ Ep. 254 Sen. Marco Rubio
311
+ Ep. 253 John Farrell
312
+ Ep. 252 Rachel Maddow
313
+ Ep. 251 Ray Mabus
314
+ Ep. 250 Tom Donilon
315
+ Ep. 249 Ronan Farrow
316
+ Ep. 248 Savannah Guthrie
317
+ Ep. 247 James Clapper
318
+ Ep. 246 Sally Yates
319
+ Ep. 245 Michael McFaul
320
+ Ep. 244 Steve Israel
321
+ Ep. 243 Jos� Andr�s
322
+ Ep. 242 Tom Price
323
+ Ep. 241 Jeffrey Toobin
324
+ Ep. 240 Vladimir Kara-Murza
325
+ Ep. 239 Kelly Ayotte
326
+ Ep. 238 Michael Avenatti
327
+ Ep. 237 Tom Perriello
328
+ Ep. 236 Mark Murray
329
+ Ep. 235 Gov. John Hickenlooper
330
+ Ep. 234 Zalmay Khalilzad
331
+ Ep. 233 Ed Miliband
332
+ Ep. 232 Stephanie Schriock
333
+ Ep. 231 Major Garrett
334
+ Ep. 230 Charles Barkley
335
+ Ep. 229 Andrea Mitchell
336
+ Ep. 228 Michael Phelps
337
+ Ep. 227 Chris Cuomo
338
+ Ep. 226 Peter Wehner
339
+ Ep. 225 Ana Marie Cox
340
+ Ep. 224 Jon Favreau (Live)
341
+ Ep. 223 Jay Roach
342
+ Ep. 222 Sen. Jeff Flake
343
+ Ep. 221 Jay Carney
344
+ Ep. 220 Michael Gerson
345
+ Ep. 219 Mayor Marty Walsh
346
+ Ep. 218 Lawrence O'Donnell
347
+ Ep. 217 Jake Tapper
348
+ Ep. 216 Anthony Scaramucci
349
+ Ep. 215 Prime Minister Justin Trudeau
350
+ Ep. 214 Whoopi Goldberg
351
+ Ep. 213 Sen. Mark Warner
352
+ Ep. 212 McKay Coppins
353
+ Ep. 211 David Gregory
354
+ Ep. 210 Ross Douthat
355
+ Ep. 209 Norm Ornstein
356
+ Ep. 208 Condoleezza Rice
357
+ Ep. 207 John Bouman
358
+ Ep. 206 Rep. Cheri Bustos
359
+ Ep. 205 Jake Sullivan
360
+ Ep. 204 Adam Nagourney
361
+ Ep. 203 Card. Blase Cupich
362
+ Ep. 202 Laura Haim
363
+ Ep. 201 Rick Santorum
364
+ Ep. 200 Ed Gillespie
365
+ Ep. 199 Eric Garcetti
366
+ Ep. 198 Preet Bharara
367
+ Ep. 197 Tom Hanks
368
+ Ep. 196 Pete Souza
369
+ Ep. 195 David Sanger
370
+ Ep. 194 Steve Kerr
371
+ Ep. 193 Kathleen Sebelius
372
+ Ep. 192 Donna Brazile
373
+ Ep. 191 Tony Blair
374
+ Ep. 190 Christiane Amanpour
375
+ Ep. 189 Fred Hochberg
376
+ Ep. 188 Susan E. Rice
377
+ Ep. 187 Gov. Terry McAuliffe
378
+ Ep. 186 Bakari Sellers
379
+ Ep. 185 Karen Tumulty
380
+ Ep. 184 David Miliband
381
+ Ep. 183 Ta-Nehisi Coates
382
+ Ep. 182 Sen. Michael Bennet
383
+ Ep. 181 Rep. Nancy Pelosi
384
+ Ep. 180 David Rubenstein
385
+ Ep. 179 David Litt
386
+ Ep. 178 Jason Kander
387
+ Ep. 177 Jeff Roe
388
+ Ep. 176 Jim Baker
389
+ Ep. 175 Bill Bradley
390
+ Ep. 174 Gayle King
391
+ Ep. 173 Rep. Seth Moulton
392
+ Ep. 172 Sen. Joe Donnelly
393
+ Ep. 171 Gov. Jay Inslee
394
+ Ep. 170 Sen. Patty Murray
395
+ Ep. 169 Don Rose
396
+ Ep. 168 Penny Pritzker
397
+ Ep. 167 Rahm Emanuel
398
+ Ep. 166 Rep. Luis Gutierrez
399
+ Ep. 165 Gary Hart
400
+ Ep. 164 Rep. Adam Kinzinger
401
+ Ep. 163 Mitch Landrieu
402
+ Ep. 162 Rep. John Lewis
403
+ Ep. 161 George Stephanopoulos
404
+ Ep. 160 Sen. Cory Booker
405
+ Ep. 159 Dana Bash
406
+ Ep. 158 Bill Daley
407
+ Ep. 157 Steven Greenhouse
408
+ Ep. 156 Bob Dold
409
+ Ep. 155 Sen. Elizabeth Warren
410
+ Ep. 154 Geoffrey Stone
411
+ Ep. 153 Sen. Tom Cotton
412
+ Ep. 152 Alfredo Corchado
413
+ Ep. 151 Brian Deese
414
+ Ep. 150 Grover Norquist
415
+ Ep. 149 Sen. Kirsten Gillibrand
416
+ Ep. 148 Tony Blinken
417
+ Ep. 147 Gov. Jerry Brown
418
+ Ep. 146 Chelsea Handler
419
+ Ep. 145 Jennifer Granholm
420
+ Ep. 144 Gov. John Kasich
421
+ Ep. 143 Rep. Ro Khanna
422
+ Ep. 142 Shailagh Murray
423
+ Ep. 141 Dan Shapiro
424
+ Ep. 140 Rep. Adam Schiff
425
+ Ep. 139 Lisa Monaco
426
+ Ep. 138 Jason Benetti
427
+ Ep. 137 Jim Sciutto
428
+ Ep. 136 Ben Smith
429
+ Ep. 135 Sen. John McCain
430
+ Ep. 134 Joe Maddon
431
+ Ep. 133 Juli�n Castro
432
+ Ep. 132 Wendy Sherman
433
+ Ep. 131 Jackie Calmes
434
+ Ep. 130 Michael Froman
435
+ Ep. 129 Pete Buttigieg
436
+ Ep. 128 Sen. Kamala Harris
437
+ Ep. 127 Kasim Reed
438
+ Ep. 126 Madeleine Albright
439
+ Ep. 125 Jeffrey Goldberg
440
+ Ep. 124 Bill Kristol
441
+ Ep. 123 Corey Lewandowski
442
+ Ep. 122 Mike Leavitt
443
+ Ep. 121 Nancy-Ann DeParle
444
+ Ep. 120 J.D. Vance
445
+ Ep. 119 Matt Bai
446
+ Ep. 118 Carl Bernstein
447
+ Ep. 117 Natalie Jaresko
448
+ Ep. 116 Cody Keenan
449
+ Ep. 115 Cecile Richards
450
+ Ep. 114 Thomas Friedman
451
+ Ep. 113 Theo Epstein
452
+ Ep. 112 Chris Wallace
453
+ Ep. 111 John Brennan
454
+ Ep. 110 Sean Spicer
455
+ Ep. 109 Mark Shriver
456
+ Ep. 108 President Barack Obama
457
+ Ep. 107 Eli Attie
458
+ Ep. 106 Tammy Duckworth
459
+ Ep. 105 Denis McDonough
460
+ Ep. 104 Alex Castellanos
461
+ Ep. 103 Sen. Harry Reid
462
+ Ep. 102 Davis Guggenheim
463
+ Ep. 101 Alex Wagner
464
+ Ep. 100 Doris Kearns Goodwin
465
+ Ep. 99 Steve Kerr
466
+ Ep. 98 Larry Summers
467
+ Ep. 97 Douglas Alexander
468
+ Ep. 96 Michael Morell
469
+ Ep. 95 Van Jones
470
+ Ep. 94 John Weaver
471
+ Ep. 93 DeRay Mckesson
472
+ Ep. 92 Carl Hulse
473
+ Ep. 91 Sec. John Kerry
474
+ Ep. 90 Tim Kaine
475
+ Ep. 89 John Heilemann
476
+ Ep. 88 Ron Brownstein
477
+ Ep. 87 Maureen Dowd
478
+ Ep. 86 Gary Johnson
479
+ Ep. 85 Fareed Zakaria
480
+ Ep. 84 Lin-Manuel Miranda
481
+ Ep. 83 Tom Brokaw
482
+ Ep. 82 Barney Frank
483
+ Ep. 81 Michael Steele (Live)
484
+ Ep. 80 Karl Rove
485
+ Ep. 79 EJ Dionne
486
+ Ep. 78 Peter Hart
487
+ Ep. 77 Caroline Kennedy
488
+ Ep. 76 Graham Moore
489
+ Ep. 75 Fr. Michael Pfleger
490
+ Ep. 74 Robert Gibbs
491
+ Ep. 73 Sec. Tom Vilsack
492
+ Ep. 72 Deval Patrick
493
+ Ep. 71 John Dickerson
494
+ Ep. 70 Paul Simon
495
+ Ep. 69 SE Cupp
496
+ Ep. 68 Mark McKinnon
497
+ Ep. 67 Hugh Hewitt
498
+ Ep. 66 Jeffrey DeLaurentis
499
+ Ep. 65 Newton Minow
500
+ Ep. 64 Maggie Haberman
501
+ Ep. 63 Paul Begala
502
+ Ep. 62 Sen. Susan Collins
503
+ Ep. 61 Isaac Lee
504
+ Ep. 60 Sen. Al Franken
505
+ Ep. 59 Bill Walton
506
+ Ep. 58 Beth Myers
507
+ Ep. 57 Tim Phillips
508
+ Ep. 56 Tom Harkin
509
+ Ep. 55 Jeff Greenfield
510
+ Ep. 54 Eric Holder
511
+ Ep. 53 Ilana Dayan
512
+ Ep. 52 Katie Couric
513
+ Ep. 51 Samantha Power
514
+ Ep. 50 Michael Nutter
515
+ Ep. 49 Jon Stewart (Live)
516
+ Ep. 48 Anderson Cooper
517
+ Ep. 47 Frank Bruni
518
+ Ep. 46 Patrick Kennedy
519
+ Ep. 45 Arthur Brooks
520
+ Ep. 44 Mike Murphy
521
+ Ep. 43 David Plouffe
522
+ Ep. 42 Ben Rhodes
523
+ Ep. 41 Ron Fournier
524
+ Ep. 40 Abner Mikva
525
+ Ep. 39 Sen. Amy Klobuchar
526
+ Ep. 38 Jamie Kalven
527
+ Ep. 37 Dan Balz
528
+ Ep. 36 Ron Klain
529
+ Ep. 35 Mark Leibovich
530
+ Ep. 34 Trent Lott
531
+ Ep. 33 Lindsey Graham
532
+ Ep. 32 Erick Erickson
533
+ Ep. 31 Gov. Jon Huntsman
534
+ Ep. 30 Joe Trippi
535
+ Ep. 29 Joel Benenson
536
+ Ep. 28 Jonathan Martin
537
+ Ep. 27 Juliet Macur
538
+ Ep. 26 Jennifer Jacobs
539
+ Ep. 25 Patti Solis Doyle
540
+ Ep. 24 Sen. Dick Durbin
541
+ Ep. 23 Stuart Stevens
542
+ Ep. 22 Arne Duncan
543
+ Ep. 21 Mary Kay Henry
544
+ Ep. 20 Aneesh Chopra
545
+ Ep. 19 Sec. Thomas Perez
546
+ Ep. 18 Husain Haqqani
547
+ Ep. 17 Joakim Noah
548
+ Ep. 16 Sen. Claire McCaskill
549
+ Ep. 15 Reihan Salam
550
+ Ep. 14 Sheriff Tom Dart
551
+ Ep. 13 Spike Lee
552
+ Ep. 12 David Maraniss
553
+ Ep. 11 Jon Favreau
554
+ Ep. 10 Mark Holden
555
+ Ep. 9 Jorge Ramos
556
+ Ep. 8 Eliot Spitzer
557
+ Ep. 7 Jessica Yellin
558
+ Ep. 6 Rep. Nancy Pelosi
559
+ Ep. 5 Mitt Romney
560
+ Ep. 4 Alastair Campbell
561
+ Ep. 3 Capt. Mark Kelly
562
+ Ep. 2 Matthew Dowd
563
+ Ep. 1 Sen. Bernie Sanders
package/client/mech.js CHANGED
@@ -11,7 +11,10 @@
11
11
  .replace(/\*(.+?)\*/g, '<i>$1</i>')
12
12
  }
13
13
 
14
- // https://github.com/dobbs/wiki-plugin-graphviz/blob/main/client/graphviz.js#L86-L103
14
+
15
+ // I N T E R P R E T E R
16
+
17
+ // https://github.com/dobbs/wiki-plugin-graphviz/blob/main/client/graphviz.js#L86-L103
15
18
  function tree(lines, here, indent) {
16
19
  while (lines.length) {
17
20
  let m = lines[0].match(/( *)(.*)/)
@@ -39,7 +42,7 @@
39
42
  const key = `${unique}.${path.join('.')}`
40
43
  part.key = key
41
44
  if('command' in part)
42
- html.push(`<span id=${key}>${expand(part.command)}</span>`)
45
+ html.push(`<font color=gray size=small></font><span id=${key}>${expand(part.command)}</span>`)
43
46
  else
44
47
  html.push(`<div id=${key} style="padding-left:15px">${block(part,[...path,0])}</div> `)
45
48
  path[path.length-1]++
@@ -56,10 +59,63 @@
56
59
  elem.outerHTML += `<span style="width:80%;color:gray;">${message}</span>` })
57
60
  }
58
61
 
62
+ function inspect(elem,key,state) {
63
+ const tap = elem.previousElementSibling
64
+ if(state.debug) {
65
+ const value = state[key]
66
+ tap.innerHTML = `${key} ⇒ `
67
+ tap.addEventListener('click',event => {
68
+ console.log({key,value})
69
+ let look = tap.previousElementSibling
70
+ if (!(look?.classList.contains('look'))) {
71
+ const div = document.createElement('div')
72
+ div.classList.add('look')
73
+ tap.insertAdjacentElement('beforebegin',div)
74
+ look = tap.previousElementSibling
75
+ }
76
+ let text = JSON.stringify(value,null,1)
77
+ if(text.length>300) text = text.substring(0,400)+'...'
78
+ const css = `border:1px solid black; background-color:#f8f8f8; padding:8px; color:gray; word-break: break-all;`
79
+ look.innerHTML = `<div style="${css}">${text}</div>`
80
+ })
81
+ }
82
+ else {
83
+ tap.innerHTML = ''
84
+ }
85
+ }
86
+
87
+ function run (nest,state={}) {
88
+ const scope = nest.slice()
89
+ while (scope.length) {
90
+ const code = scope.shift()
91
+ if ('command' in code) {
92
+ const command = code.command
93
+ const elem = document.getElementById(code.key)
94
+ const [op, ...args] = code.command.split(/ +/)
95
+ const next = scope[0]
96
+ const body = next && ('command' in next) ? null : scope.shift()
97
+ const stuff = {command,op,args,body,elem,state}
98
+ if(state.debug) console.log(stuff)
99
+ if (blocks[op])
100
+ blocks[op].emit.apply(null,[stuff])
101
+ else
102
+ if (op.match(/^[A-Z]+$/))
103
+ trouble(elem,`${op} doesn't name a block we know.`)
104
+ else if (code.command.match(/\S/))
105
+ trouble(elem, `Expected line to begin with all-caps keyword.`)
106
+ } else if(typeof code == 'array') {
107
+ run(code,state)
108
+ }
109
+ }
110
+ }
111
+
112
+
113
+ // B L O C K S
114
+
59
115
  function click_emit ({elem,body,state}) {
60
116
  if(elem.innerHTML.match(/button/)) return
61
117
  if (!body?.length) return trouble(elem,'CLICK expects indented blocks to follow.')
62
- elem.innerHTML += '<button style="border-width:0;">◉</button>'
118
+ elem.innerHTML += '<button style="border-width:0;">►</button>'
63
119
  elem.querySelector('button').addEventListener('click',event => {
64
120
  state.debug = event.shiftKey
65
121
  run(body,state)
@@ -86,6 +142,7 @@
86
142
  function sensor_emit ({elem,args,body,state}) {
87
143
  const line = elem.innerHTML.replaceAll(/ ⌛/g,'')
88
144
  if(!('page' in state)) return trouble(elem,`Expect "page" as with FROM.`)
145
+ inspect(elem,'page',state)
89
146
  const datalog = state.page.story.find(item => item.type == 'datalog')
90
147
  if(!datalog) return trouble(elem, `Expect Datalog plugin in the page.`)
91
148
  const want = args[0]
@@ -114,25 +171,27 @@
114
171
  function report_emit ({elem,command,state}) {
115
172
  const value = state?.temperature
116
173
  if (!value) return trouble(elem,`Expect data, as from SENSOR.`)
174
+ inspect(elem,'temperature',state)
117
175
  elem.innerHTML = command + `<br><font face=Arial size=32>${value}</font>`
118
176
  }
119
177
 
120
178
  function source_emit ({elem,command,args,body,state}) {
121
179
  if (!(args && args.length)) return trouble(elem,`Expected Source topic, like "markers" for Map markers.`)
122
180
  const topic = args[0]
123
- const sources = requestSourceData(state.$item, topic)
181
+ const item = elem.closest('.item')
182
+ const sources = requestSourceData(item, topic)
124
183
  if(!sources.length) return trouble(elem,`Expected source for "${topic}" in the lineup.`)
125
184
  const count = type => {
126
185
  const count = sources
127
186
  .filter(source => [...source.div.classList].includes(type))
128
187
  .length
129
188
  return count ? `${count} ${type}` : null}
130
- const counts = [count('map'),count('image'),count('frame')]
189
+ const counts = [count('map'),count('image'),count('frame'),count('assets')]
131
190
  .filter(count => count)
132
191
  .join(", ")
133
192
  if (state.debug) console.log({topic,sources})
134
193
  elem.innerHTML = command + ' ⇒ ' + counts
135
- state[topic] = sources
194
+ state[topic] = sources.map(({div,result}) => ({id:div.dataset.id, result}))
136
195
  if (body) run(body,state)
137
196
  }
138
197
 
@@ -143,6 +202,7 @@
143
202
  switch (arg) {
144
203
  case 'map':
145
204
  if(!('marker' in state)) return trouble(elem,`"map" preview expects "marker" state, like from "SOURCE marker".`)
205
+ inspect(elem,'marker',state)
146
206
  const text = state.marker
147
207
  .map(marker => [marker.result])
148
208
  .flat(2)
@@ -153,6 +213,7 @@
153
213
  break
154
214
  case 'graph':
155
215
  if(!('aspect' in state)) return trouble(elem,`"graph" preview expects "aspect" state, like from "SOURCE aspect".`)
216
+ inspect(elem,'aspect',state)
156
217
  for (const {div,result} of state.aspect) {
157
218
  for (const {name,graph} of result) {
158
219
  if(state.debug) console.log({div,result,name,graph})
@@ -162,6 +223,11 @@
162
223
  story.push({type:'pagefold',text:'.'})
163
224
  }
164
225
  break
226
+ case 'items':
227
+ if(!('items' in state)) return trouble(elem,`"graph" preview expects "items" state, like from "KWIC".`)
228
+ inspect(elem,'items',state)
229
+ story.push(...state.items)
230
+ break
165
231
  case 'synopsis':
166
232
  {const text = `This page has been generated by the Mech plugin. We want to tell you where. That's coming soon.`
167
233
  story.push({type:'paragraph',text})}
@@ -189,6 +255,8 @@
189
255
  }
190
256
 
191
257
  function walk_emit ({elem,command,args,state}) {
258
+ if(!('neighborhood' in state)) return trouble(elem,`FILE expects state.neighborhood, like from NEIGHBORS.`)
259
+ inspect(elem,'neighborhood',state)
192
260
  const steps = walks(state.neighborhood)
193
261
  const aspects = steps.filter(({graph})=>graph)
194
262
  if(state.debug) console.log({steps})
@@ -199,7 +267,7 @@
199
267
  const item = elem.closest('.item')
200
268
  item.classList.add('aspect-source')
201
269
  item.aspectData = () => aspects
202
- state.aspect = [{div:item,result:aspects}]
270
+ state.aspect = [{id:item.dataset.id,result:aspects}]
203
271
  }
204
272
 
205
273
  function tick_emit ({elem,args,body,state}) {
@@ -208,7 +276,7 @@
208
276
  const count = args[0] || '1'
209
277
  if (!count.match(/^[1-9][0-9]?$/)) return trouble(elem,"TICK expects a count from 1 to 99")
210
278
  let clock = null
211
- elem.innerHTML += '<button style="border-width:0;">◉</button>'
279
+ elem.innerHTML += '<button style="border-width:0;">►</button>'
212
280
  elem.querySelector('button').addEventListener('click',event => {
213
281
  state.debug = event.shiftKey
214
282
  if(clock){
@@ -232,6 +300,7 @@
232
300
  if(!args.length) return trouble(elem,`UNTIL expects an argument, a word to stop running.`)
233
301
  if(!state.tick) return trouble(elem,`UNTIL expects to indented below an iterator, like TICKS.`)
234
302
  if(!state.aspect) return trouble(elem,`UNTIL expects "aspect", like from WALK.`)
303
+ inspect(elem,'aspect',state)
235
304
  elem.innerHTML = command + ` ⇒ ${state.tick}`
236
305
  const word = args[0]
237
306
  for(const {div,result} of state.aspect)
@@ -260,6 +329,34 @@
260
329
  elem.innerHTML = command + ` ⇒ ${direction}°`
261
330
  }
262
331
 
332
+ function file_emit ({elem,command,args,body,state}) {
333
+ if(!('assets' in state)) return trouble(elem,`FILE expects state.assets, like from SOURCE assets.`)
334
+ inspect(elem,'assets',state)
335
+ if(args.length < 1) return trouble(elem,`FILE expects an argument, the dot suffix for desired files.`)
336
+ if (!body?.length) return trouble(elem,'FILE expects indented blocks to follow.')
337
+ const suffix = args[0]
338
+ const url = 'http://ward.dojo.fed.wiki/assets/pages/testing-file-mech/KWIC-list-axe-files.tsv'
339
+ fetch(url)
340
+ .then(res => res.text())
341
+ .then(text => {
342
+ elem.innerHTML = command + ` ⇒ ${text.length} bytes`
343
+ state.tsv = text
344
+ run(body,state)
345
+ })
346
+ }
347
+
348
+ function kwic_emit ({elem,command,args,state}) {
349
+ if(!('tsv' in state)) return trouble(elem,`KWIC expects a .tsv file, like from ASSETS .tsv.`)
350
+ inspect(elem,'tsv',state)
351
+ const lines = state.tsv.split(/\n/)
352
+ elem.innerHTML = command + ` ⇒ ${lines.length} lines`
353
+ const text = `Yes, we have no bananas. [https://en.wikipedia.org/wiki/Yes!_We_Have_No_Bananas wikipedia]`
354
+ state.items = [{type:'paragraph',text}]
355
+ }
356
+
357
+
358
+ // C A T A L O G
359
+
263
360
  const blocks = {
264
361
  CLICK: {emit:click_emit},
265
362
  HELLO: {emit:hello_emit},
@@ -273,39 +370,19 @@
273
370
  TICK: {emit:tick_emit},
274
371
  UNTIL: {emit:until_emit},
275
372
  FORWARD: {emit:forward_emit},
276
- TURN: {emit:turn_emit}
373
+ TURN: {emit:turn_emit},
374
+ FILE: {emit:file_emit},
375
+ KWIC: {emit:kwic_emit}
277
376
  }
278
377
 
279
- function run (nest,state={}) {
280
- const scope = nest.slice()
281
- while (scope.length) {
282
- const code = scope.shift()
283
- if ('command' in code) {
284
- const command = code.command
285
- const elem = document.getElementById(code.key)
286
- const [op, ...args] = code.command.split(/ +/)
287
- const next = scope[0]
288
- const body = next && ('command' in next) ? null : scope.shift()
289
- const stuff = {command,op,args,body,elem,state}
290
- if(state.debug) console.log(stuff)
291
- if (blocks[op])
292
- blocks[op].emit.apply(null,[stuff])
293
- else
294
- if (op.match(/^[A-Z]+$/))
295
- trouble(elem,`${op} doesn't name a block we know.`)
296
- else if (code.command.match(/\S/))
297
- trouble(elem, `Expected line to begin with all-caps keyword.`)
298
- } else if(typeof code == 'array') {
299
- run(code,state)
300
- }
301
- }
302
- }
378
+
379
+ // P L U G I N
303
380
 
304
381
  function emit($item, item) {
305
382
  const lines = item.text.split(/\n/)
306
383
  const nest = tree(lines,[],0)
307
384
  const html = format(nest)
308
- const state = {$item} // deprecated. use elem.closest('.item')
385
+ const state = {}
309
386
  $item.append(`<div style="background-color:#eee;padding:15px;border-top:8px;">${html}</div>`)
310
387
  run(nest,state)
311
388
  }
@@ -325,16 +402,16 @@
325
402
  }
326
403
 
327
404
 
328
- // library functions
405
+ // L I B R A R Y
329
406
 
330
407
  // adapted from wiki-plugin-frame/client/frame.js
331
- function requestSourceData($item, topic) {
408
+ function requestSourceData(item, topic) {
332
409
  let sources = []
333
410
  for (let div of document.querySelectorAll(`.item`)) {
334
411
  if (div.classList.contains(`${topic}-source`)) {
335
412
  sources.unshift(div)
336
413
  }
337
- if (div === $item.get(0)) {
414
+ if (div === item) {
338
415
  break
339
416
  }
340
417
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wiki-plugin-mech",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "Federated Wiki - Mechanism Scripting Plugin",
5
5
  "keywords": [
6
6
  "mech",