tangled
alpha
login
or
join now
cherry.computer
/
website
My personal site
cherry.computer
htmx
tailwind
axum
askama
0
fork
atom
overview
issues
pulls
pipelines
feat: get latest game played from Backloggd
cherry.computer
5 months ago
e9a32743
93967fc8
verified
This commit was signed with the committer's
known signature
.
cherry.computer
SSH Key Fingerprint:
SHA256:SIA77Ll0IpMb8Xd3RtaGT+PBIGIePhJJg5W2r6Td7cc=
+1283
-9
8 changed files
expand all
collapse all
unified
split
justfile
server
Cargo.lock
Cargo.toml
src
index.rs
main.rs
scrapers
backloggd.rs
scrapers.rs
templates
index.html
+1
-1
justfile
···
6
6
npm start
7
7
8
8
[working-directory: 'server']
9
9
-
serve-rs $RUST_LOG=env('RUST_LOG', 'debug'):
9
9
+
serve-rs $RUST_LOG=env('RUST_LOG', 'debug,selectors=warn,html5ever=warn'):
10
10
watchexec --restart --ignore "target/**" cargo run
+1205
-4
server/Cargo.lock
···
180
180
]
181
181
182
182
[[package]]
183
183
+
name = "base64"
184
184
+
version = "0.22.1"
185
185
+
source = "registry+https://github.com/rust-lang/crates.io-index"
186
186
+
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
187
187
+
188
188
+
[[package]]
183
189
name = "basic-toml"
184
190
version = "0.1.10"
185
191
source = "registry+https://github.com/rust-lang/crates.io-index"
···
216
222
]
217
223
218
224
[[package]]
225
225
+
name = "bumpalo"
226
226
+
version = "3.19.0"
227
227
+
source = "registry+https://github.com/rust-lang/crates.io-index"
228
228
+
checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
229
229
+
230
230
+
[[package]]
231
231
+
name = "byteorder"
232
232
+
version = "1.5.0"
233
233
+
source = "registry+https://github.com/rust-lang/crates.io-index"
234
234
+
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
235
235
+
236
236
+
[[package]]
219
237
name = "bytes"
220
238
version = "1.10.1"
221
239
source = "registry+https://github.com/rust-lang/crates.io-index"
···
261
279
checksum = "2957e823c15bde7ecf1e8b64e537aa03a6be5fda0e2334e99887669e75b12e01"
262
280
263
281
[[package]]
282
282
+
name = "core-foundation"
283
283
+
version = "0.9.4"
284
284
+
source = "registry+https://github.com/rust-lang/crates.io-index"
285
285
+
checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
286
286
+
dependencies = [
287
287
+
"core-foundation-sys",
288
288
+
"libc",
289
289
+
]
290
290
+
291
291
+
[[package]]
292
292
+
name = "core-foundation-sys"
293
293
+
version = "0.8.7"
294
294
+
source = "registry+https://github.com/rust-lang/crates.io-index"
295
295
+
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
296
296
+
297
297
+
[[package]]
264
298
name = "crc32fast"
265
299
version = "1.5.0"
266
300
source = "registry+https://github.com/rust-lang/crates.io-index"
···
270
304
]
271
305
272
306
[[package]]
307
307
+
name = "cssparser"
308
308
+
version = "0.35.0"
309
309
+
source = "registry+https://github.com/rust-lang/crates.io-index"
310
310
+
checksum = "4e901edd733a1472f944a45116df3f846f54d37e67e68640ac8bb69689aca2aa"
311
311
+
dependencies = [
312
312
+
"cssparser-macros",
313
313
+
"dtoa-short",
314
314
+
"itoa",
315
315
+
"phf",
316
316
+
"smallvec",
317
317
+
]
318
318
+
319
319
+
[[package]]
320
320
+
name = "cssparser-macros"
321
321
+
version = "0.6.1"
322
322
+
source = "registry+https://github.com/rust-lang/crates.io-index"
323
323
+
checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
324
324
+
dependencies = [
325
325
+
"quote",
326
326
+
"syn",
327
327
+
]
328
328
+
329
329
+
[[package]]
330
330
+
name = "derive_more"
331
331
+
version = "2.0.1"
332
332
+
source = "registry+https://github.com/rust-lang/crates.io-index"
333
333
+
checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678"
334
334
+
dependencies = [
335
335
+
"derive_more-impl",
336
336
+
]
337
337
+
338
338
+
[[package]]
339
339
+
name = "derive_more-impl"
340
340
+
version = "2.0.1"
341
341
+
source = "registry+https://github.com/rust-lang/crates.io-index"
342
342
+
checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3"
343
343
+
dependencies = [
344
344
+
"proc-macro2",
345
345
+
"quote",
346
346
+
"syn",
347
347
+
]
348
348
+
349
349
+
[[package]]
350
350
+
name = "displaydoc"
351
351
+
version = "0.2.5"
352
352
+
source = "registry+https://github.com/rust-lang/crates.io-index"
353
353
+
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
354
354
+
dependencies = [
355
355
+
"proc-macro2",
356
356
+
"quote",
357
357
+
"syn",
358
358
+
]
359
359
+
360
360
+
[[package]]
361
361
+
name = "dtoa"
362
362
+
version = "1.0.10"
363
363
+
source = "registry+https://github.com/rust-lang/crates.io-index"
364
364
+
checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04"
365
365
+
366
366
+
[[package]]
367
367
+
name = "dtoa-short"
368
368
+
version = "0.3.5"
369
369
+
source = "registry+https://github.com/rust-lang/crates.io-index"
370
370
+
checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87"
371
371
+
dependencies = [
372
372
+
"dtoa",
373
373
+
]
374
374
+
375
375
+
[[package]]
376
376
+
name = "ego-tree"
377
377
+
version = "0.10.0"
378
378
+
source = "registry+https://github.com/rust-lang/crates.io-index"
379
379
+
checksum = "b2972feb8dffe7bc8c5463b1dacda1b0dfbed3710e50f977d965429692d74cd8"
380
380
+
381
381
+
[[package]]
382
382
+
name = "encoding_rs"
383
383
+
version = "0.8.35"
384
384
+
source = "registry+https://github.com/rust-lang/crates.io-index"
385
385
+
checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
386
386
+
dependencies = [
387
387
+
"cfg-if",
388
388
+
]
389
389
+
390
390
+
[[package]]
391
391
+
name = "equivalent"
392
392
+
version = "1.0.2"
393
393
+
source = "registry+https://github.com/rust-lang/crates.io-index"
394
394
+
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
395
395
+
396
396
+
[[package]]
397
397
+
name = "errno"
398
398
+
version = "0.3.13"
399
399
+
source = "registry+https://github.com/rust-lang/crates.io-index"
400
400
+
checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad"
401
401
+
dependencies = [
402
402
+
"libc",
403
403
+
"windows-sys 0.59.0",
404
404
+
]
405
405
+
406
406
+
[[package]]
407
407
+
name = "fastrand"
408
408
+
version = "2.3.0"
409
409
+
source = "registry+https://github.com/rust-lang/crates.io-index"
410
410
+
checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
411
411
+
412
412
+
[[package]]
273
413
name = "flate2"
274
414
version = "1.1.2"
275
415
source = "registry+https://github.com/rust-lang/crates.io-index"
···
286
426
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
287
427
288
428
[[package]]
429
429
+
name = "foreign-types"
430
430
+
version = "0.3.2"
431
431
+
source = "registry+https://github.com/rust-lang/crates.io-index"
432
432
+
checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
433
433
+
dependencies = [
434
434
+
"foreign-types-shared",
435
435
+
]
436
436
+
437
437
+
[[package]]
438
438
+
name = "foreign-types-shared"
439
439
+
version = "0.1.1"
440
440
+
source = "registry+https://github.com/rust-lang/crates.io-index"
441
441
+
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
442
442
+
443
443
+
[[package]]
289
444
name = "form_urlencoded"
290
445
version = "1.2.2"
291
446
source = "registry+https://github.com/rust-lang/crates.io-index"
292
447
checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf"
293
448
dependencies = [
294
449
"percent-encoding",
450
450
+
]
451
451
+
452
452
+
[[package]]
453
453
+
name = "futf"
454
454
+
version = "0.1.5"
455
455
+
source = "registry+https://github.com/rust-lang/crates.io-index"
456
456
+
checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
457
457
+
dependencies = [
458
458
+
"mac",
459
459
+
"new_debug_unreachable",
295
460
]
296
461
297
462
[[package]]
···
334
499
]
335
500
336
501
[[package]]
502
502
+
name = "fxhash"
503
503
+
version = "0.2.1"
504
504
+
source = "registry+https://github.com/rust-lang/crates.io-index"
505
505
+
checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
506
506
+
dependencies = [
507
507
+
"byteorder",
508
508
+
]
509
509
+
510
510
+
[[package]]
511
511
+
name = "getopts"
512
512
+
version = "0.2.23"
513
513
+
source = "registry+https://github.com/rust-lang/crates.io-index"
514
514
+
checksum = "cba6ae63eb948698e300f645f87c70f76630d505f23b8907cf1e193ee85048c1"
515
515
+
dependencies = [
516
516
+
"unicode-width",
517
517
+
]
518
518
+
519
519
+
[[package]]
520
520
+
name = "getrandom"
521
521
+
version = "0.2.16"
522
522
+
source = "registry+https://github.com/rust-lang/crates.io-index"
523
523
+
checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
524
524
+
dependencies = [
525
525
+
"cfg-if",
526
526
+
"libc",
527
527
+
"wasi 0.11.1+wasi-snapshot-preview1",
528
528
+
]
529
529
+
530
530
+
[[package]]
337
531
name = "getrandom"
338
532
version = "0.3.3"
339
533
source = "registry+https://github.com/rust-lang/crates.io-index"
···
352
546
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
353
547
354
548
[[package]]
549
549
+
name = "h2"
550
550
+
version = "0.4.12"
551
551
+
source = "registry+https://github.com/rust-lang/crates.io-index"
552
552
+
checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386"
553
553
+
dependencies = [
554
554
+
"atomic-waker",
555
555
+
"bytes",
556
556
+
"fnv",
557
557
+
"futures-core",
558
558
+
"futures-sink",
559
559
+
"http",
560
560
+
"indexmap",
561
561
+
"slab",
562
562
+
"tokio",
563
563
+
"tokio-util",
564
564
+
"tracing",
565
565
+
]
566
566
+
567
567
+
[[package]]
568
568
+
name = "hashbrown"
569
569
+
version = "0.15.5"
570
570
+
source = "registry+https://github.com/rust-lang/crates.io-index"
571
571
+
checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
572
572
+
573
573
+
[[package]]
574
574
+
name = "html5ever"
575
575
+
version = "0.35.0"
576
576
+
source = "registry+https://github.com/rust-lang/crates.io-index"
577
577
+
checksum = "55d958c2f74b664487a2035fe1dadb032c48718a03b63f3ab0b8537db8549ed4"
578
578
+
dependencies = [
579
579
+
"log",
580
580
+
"markup5ever",
581
581
+
"match_token",
582
582
+
]
583
583
+
584
584
+
[[package]]
355
585
name = "http"
356
586
version = "1.3.1"
357
587
source = "registry+https://github.com/rust-lang/crates.io-index"
···
413
643
"bytes",
414
644
"futures-channel",
415
645
"futures-core",
646
646
+
"h2",
416
647
"http",
417
648
"http-body",
418
649
"httparse",
···
422
653
"pin-utils",
423
654
"smallvec",
424
655
"tokio",
656
656
+
"want",
657
657
+
]
658
658
+
659
659
+
[[package]]
660
660
+
name = "hyper-rustls"
661
661
+
version = "0.27.7"
662
662
+
source = "registry+https://github.com/rust-lang/crates.io-index"
663
663
+
checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58"
664
664
+
dependencies = [
665
665
+
"http",
666
666
+
"hyper",
667
667
+
"hyper-util",
668
668
+
"rustls",
669
669
+
"rustls-pki-types",
670
670
+
"tokio",
671
671
+
"tokio-rustls",
672
672
+
"tower-service",
673
673
+
]
674
674
+
675
675
+
[[package]]
676
676
+
name = "hyper-tls"
677
677
+
version = "0.6.0"
678
678
+
source = "registry+https://github.com/rust-lang/crates.io-index"
679
679
+
checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
680
680
+
dependencies = [
681
681
+
"bytes",
682
682
+
"http-body-util",
683
683
+
"hyper",
684
684
+
"hyper-util",
685
685
+
"native-tls",
686
686
+
"tokio",
687
687
+
"tokio-native-tls",
688
688
+
"tower-service",
425
689
]
426
690
427
691
[[package]]
···
430
694
source = "registry+https://github.com/rust-lang/crates.io-index"
431
695
checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e"
432
696
dependencies = [
697
697
+
"base64",
433
698
"bytes",
699
699
+
"futures-channel",
434
700
"futures-core",
701
701
+
"futures-util",
435
702
"http",
436
703
"http-body",
437
704
"hyper",
705
705
+
"ipnet",
706
706
+
"libc",
707
707
+
"percent-encoding",
438
708
"pin-project-lite",
709
709
+
"socket2",
710
710
+
"system-configuration",
439
711
"tokio",
440
712
"tower-service",
713
713
+
"tracing",
714
714
+
"windows-registry",
715
715
+
]
716
716
+
717
717
+
[[package]]
718
718
+
name = "icu_collections"
719
719
+
version = "2.0.0"
720
720
+
source = "registry+https://github.com/rust-lang/crates.io-index"
721
721
+
checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47"
722
722
+
dependencies = [
723
723
+
"displaydoc",
724
724
+
"potential_utf",
725
725
+
"yoke",
726
726
+
"zerofrom",
727
727
+
"zerovec",
728
728
+
]
729
729
+
730
730
+
[[package]]
731
731
+
name = "icu_locale_core"
732
732
+
version = "2.0.0"
733
733
+
source = "registry+https://github.com/rust-lang/crates.io-index"
734
734
+
checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a"
735
735
+
dependencies = [
736
736
+
"displaydoc",
737
737
+
"litemap",
738
738
+
"tinystr",
739
739
+
"writeable",
740
740
+
"zerovec",
741
741
+
]
742
742
+
743
743
+
[[package]]
744
744
+
name = "icu_normalizer"
745
745
+
version = "2.0.0"
746
746
+
source = "registry+https://github.com/rust-lang/crates.io-index"
747
747
+
checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979"
748
748
+
dependencies = [
749
749
+
"displaydoc",
750
750
+
"icu_collections",
751
751
+
"icu_normalizer_data",
752
752
+
"icu_properties",
753
753
+
"icu_provider",
754
754
+
"smallvec",
755
755
+
"zerovec",
756
756
+
]
757
757
+
758
758
+
[[package]]
759
759
+
name = "icu_normalizer_data"
760
760
+
version = "2.0.0"
761
761
+
source = "registry+https://github.com/rust-lang/crates.io-index"
762
762
+
checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3"
763
763
+
764
764
+
[[package]]
765
765
+
name = "icu_properties"
766
766
+
version = "2.0.1"
767
767
+
source = "registry+https://github.com/rust-lang/crates.io-index"
768
768
+
checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b"
769
769
+
dependencies = [
770
770
+
"displaydoc",
771
771
+
"icu_collections",
772
772
+
"icu_locale_core",
773
773
+
"icu_properties_data",
774
774
+
"icu_provider",
775
775
+
"potential_utf",
776
776
+
"zerotrie",
777
777
+
"zerovec",
778
778
+
]
779
779
+
780
780
+
[[package]]
781
781
+
name = "icu_properties_data"
782
782
+
version = "2.0.1"
783
783
+
source = "registry+https://github.com/rust-lang/crates.io-index"
784
784
+
checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632"
785
785
+
786
786
+
[[package]]
787
787
+
name = "icu_provider"
788
788
+
version = "2.0.0"
789
789
+
source = "registry+https://github.com/rust-lang/crates.io-index"
790
790
+
checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af"
791
791
+
dependencies = [
792
792
+
"displaydoc",
793
793
+
"icu_locale_core",
794
794
+
"stable_deref_trait",
795
795
+
"tinystr",
796
796
+
"writeable",
797
797
+
"yoke",
798
798
+
"zerofrom",
799
799
+
"zerotrie",
800
800
+
"zerovec",
801
801
+
]
802
802
+
803
803
+
[[package]]
804
804
+
name = "idna"
805
805
+
version = "1.1.0"
806
806
+
source = "registry+https://github.com/rust-lang/crates.io-index"
807
807
+
checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de"
808
808
+
dependencies = [
809
809
+
"idna_adapter",
810
810
+
"smallvec",
811
811
+
"utf8_iter",
812
812
+
]
813
813
+
814
814
+
[[package]]
815
815
+
name = "idna_adapter"
816
816
+
version = "1.2.1"
817
817
+
source = "registry+https://github.com/rust-lang/crates.io-index"
818
818
+
checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344"
819
819
+
dependencies = [
820
820
+
"icu_normalizer",
821
821
+
"icu_properties",
822
822
+
]
823
823
+
824
824
+
[[package]]
825
825
+
name = "indexmap"
826
826
+
version = "2.11.0"
827
827
+
source = "registry+https://github.com/rust-lang/crates.io-index"
828
828
+
checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9"
829
829
+
dependencies = [
830
830
+
"equivalent",
831
831
+
"hashbrown",
441
832
]
442
833
443
834
[[package]]
···
452
843
]
453
844
454
845
[[package]]
846
846
+
name = "ipnet"
847
847
+
version = "2.11.0"
848
848
+
source = "registry+https://github.com/rust-lang/crates.io-index"
849
849
+
checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
850
850
+
851
851
+
[[package]]
852
852
+
name = "iri-string"
853
853
+
version = "0.7.8"
854
854
+
source = "registry+https://github.com/rust-lang/crates.io-index"
855
855
+
checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2"
856
856
+
dependencies = [
857
857
+
"memchr",
858
858
+
"serde",
859
859
+
]
860
860
+
861
861
+
[[package]]
455
862
name = "itoa"
456
863
version = "1.0.15"
457
864
source = "registry+https://github.com/rust-lang/crates.io-index"
···
463
870
source = "registry+https://github.com/rust-lang/crates.io-index"
464
871
checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
465
872
dependencies = [
466
466
-
"getrandom",
873
873
+
"getrandom 0.3.3",
467
874
"libc",
468
875
]
469
876
470
877
[[package]]
878
878
+
name = "js-sys"
879
879
+
version = "0.3.77"
880
880
+
source = "registry+https://github.com/rust-lang/crates.io-index"
881
881
+
checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
882
882
+
dependencies = [
883
883
+
"once_cell",
884
884
+
"wasm-bindgen",
885
885
+
]
886
886
+
887
887
+
[[package]]
471
888
name = "lazy_static"
472
889
version = "1.5.0"
473
890
source = "registry+https://github.com/rust-lang/crates.io-index"
···
480
897
checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
481
898
482
899
[[package]]
900
900
+
name = "linux-raw-sys"
901
901
+
version = "0.9.4"
902
902
+
source = "registry+https://github.com/rust-lang/crates.io-index"
903
903
+
checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
904
904
+
905
905
+
[[package]]
906
906
+
name = "litemap"
907
907
+
version = "0.8.0"
908
908
+
source = "registry+https://github.com/rust-lang/crates.io-index"
909
909
+
checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"
910
910
+
911
911
+
[[package]]
483
912
name = "lock_api"
484
913
version = "0.4.13"
485
914
source = "registry+https://github.com/rust-lang/crates.io-index"
···
496
925
checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
497
926
498
927
[[package]]
928
928
+
name = "mac"
929
929
+
version = "0.1.1"
930
930
+
source = "registry+https://github.com/rust-lang/crates.io-index"
931
931
+
checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
932
932
+
933
933
+
[[package]]
934
934
+
name = "markup5ever"
935
935
+
version = "0.35.0"
936
936
+
source = "registry+https://github.com/rust-lang/crates.io-index"
937
937
+
checksum = "311fe69c934650f8f19652b3946075f0fc41ad8757dbb68f1ca14e7900ecc1c3"
938
938
+
dependencies = [
939
939
+
"log",
940
940
+
"tendril",
941
941
+
"web_atoms",
942
942
+
]
943
943
+
944
944
+
[[package]]
945
945
+
name = "match_token"
946
946
+
version = "0.35.0"
947
947
+
source = "registry+https://github.com/rust-lang/crates.io-index"
948
948
+
checksum = "ac84fd3f360fcc43dc5f5d186f02a94192761a080e8bc58621ad4d12296a58cf"
949
949
+
dependencies = [
950
950
+
"proc-macro2",
951
951
+
"quote",
952
952
+
"syn",
953
953
+
]
954
954
+
955
955
+
[[package]]
499
956
name = "matchit"
500
957
version = "0.8.4"
501
958
source = "registry+https://github.com/rust-lang/crates.io-index"
···
540
997
dependencies = [
541
998
"libc",
542
999
"wasi 0.11.1+wasi-snapshot-preview1",
543
543
-
"windows-sys",
1000
1000
+
"windows-sys 0.59.0",
544
1001
]
545
1002
546
1003
[[package]]
···
550
1007
"anyhow",
551
1008
"askama",
552
1009
"axum",
1010
1010
+
"reqwest",
1011
1011
+
"scraper",
553
1012
"tokio",
554
1013
"tower",
555
1014
"tower-http",
···
558
1017
]
559
1018
560
1019
[[package]]
1020
1020
+
name = "native-tls"
1021
1021
+
version = "0.2.14"
1022
1022
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1023
1023
+
checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e"
1024
1024
+
dependencies = [
1025
1025
+
"libc",
1026
1026
+
"log",
1027
1027
+
"openssl",
1028
1028
+
"openssl-probe",
1029
1029
+
"openssl-sys",
1030
1030
+
"schannel",
1031
1031
+
"security-framework",
1032
1032
+
"security-framework-sys",
1033
1033
+
"tempfile",
1034
1034
+
]
1035
1035
+
1036
1036
+
[[package]]
1037
1037
+
name = "new_debug_unreachable"
1038
1038
+
version = "1.0.6"
1039
1039
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1040
1040
+
checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
1041
1041
+
1042
1042
+
[[package]]
561
1043
name = "nu-ansi-term"
562
1044
version = "0.46.0"
563
1045
source = "registry+https://github.com/rust-lang/crates.io-index"
···
581
1063
version = "1.21.3"
582
1064
source = "registry+https://github.com/rust-lang/crates.io-index"
583
1065
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
1066
1066
+
1067
1067
+
[[package]]
1068
1068
+
name = "openssl"
1069
1069
+
version = "0.10.73"
1070
1070
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1071
1071
+
checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8"
1072
1072
+
dependencies = [
1073
1073
+
"bitflags",
1074
1074
+
"cfg-if",
1075
1075
+
"foreign-types",
1076
1076
+
"libc",
1077
1077
+
"once_cell",
1078
1078
+
"openssl-macros",
1079
1079
+
"openssl-sys",
1080
1080
+
]
1081
1081
+
1082
1082
+
[[package]]
1083
1083
+
name = "openssl-macros"
1084
1084
+
version = "0.1.1"
1085
1085
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1086
1086
+
checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
1087
1087
+
dependencies = [
1088
1088
+
"proc-macro2",
1089
1089
+
"quote",
1090
1090
+
"syn",
1091
1091
+
]
1092
1092
+
1093
1093
+
[[package]]
1094
1094
+
name = "openssl-probe"
1095
1095
+
version = "0.1.6"
1096
1096
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1097
1097
+
checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
1098
1098
+
1099
1099
+
[[package]]
1100
1100
+
name = "openssl-sys"
1101
1101
+
version = "0.9.109"
1102
1102
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1103
1103
+
checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571"
1104
1104
+
dependencies = [
1105
1105
+
"cc",
1106
1106
+
"libc",
1107
1107
+
"pkg-config",
1108
1108
+
"vcpkg",
1109
1109
+
]
584
1110
585
1111
[[package]]
586
1112
name = "overload"
···
618
1144
checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
619
1145
620
1146
[[package]]
1147
1147
+
name = "phf"
1148
1148
+
version = "0.11.3"
1149
1149
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1150
1150
+
checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078"
1151
1151
+
dependencies = [
1152
1152
+
"phf_macros",
1153
1153
+
"phf_shared",
1154
1154
+
]
1155
1155
+
1156
1156
+
[[package]]
1157
1157
+
name = "phf_codegen"
1158
1158
+
version = "0.11.3"
1159
1159
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1160
1160
+
checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a"
1161
1161
+
dependencies = [
1162
1162
+
"phf_generator",
1163
1163
+
"phf_shared",
1164
1164
+
]
1165
1165
+
1166
1166
+
[[package]]
1167
1167
+
name = "phf_generator"
1168
1168
+
version = "0.11.3"
1169
1169
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1170
1170
+
checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d"
1171
1171
+
dependencies = [
1172
1172
+
"phf_shared",
1173
1173
+
"rand",
1174
1174
+
]
1175
1175
+
1176
1176
+
[[package]]
1177
1177
+
name = "phf_macros"
1178
1178
+
version = "0.11.3"
1179
1179
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1180
1180
+
checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216"
1181
1181
+
dependencies = [
1182
1182
+
"phf_generator",
1183
1183
+
"phf_shared",
1184
1184
+
"proc-macro2",
1185
1185
+
"quote",
1186
1186
+
"syn",
1187
1187
+
]
1188
1188
+
1189
1189
+
[[package]]
1190
1190
+
name = "phf_shared"
1191
1191
+
version = "0.11.3"
1192
1192
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1193
1193
+
checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5"
1194
1194
+
dependencies = [
1195
1195
+
"siphasher",
1196
1196
+
]
1197
1197
+
1198
1198
+
[[package]]
621
1199
name = "pin-project-lite"
622
1200
version = "0.2.16"
623
1201
source = "registry+https://github.com/rust-lang/crates.io-index"
···
636
1214
checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
637
1215
638
1216
[[package]]
1217
1217
+
name = "potential_utf"
1218
1218
+
version = "0.1.2"
1219
1219
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1220
1220
+
checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585"
1221
1221
+
dependencies = [
1222
1222
+
"zerovec",
1223
1223
+
]
1224
1224
+
1225
1225
+
[[package]]
1226
1226
+
name = "precomputed-hash"
1227
1227
+
version = "0.1.1"
1228
1228
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1229
1229
+
checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
1230
1230
+
1231
1231
+
[[package]]
639
1232
name = "proc-macro2"
640
1233
version = "1.0.101"
641
1234
source = "registry+https://github.com/rust-lang/crates.io-index"
···
660
1253
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
661
1254
662
1255
[[package]]
1256
1256
+
name = "rand"
1257
1257
+
version = "0.8.5"
1258
1258
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1259
1259
+
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
1260
1260
+
dependencies = [
1261
1261
+
"rand_core",
1262
1262
+
]
1263
1263
+
1264
1264
+
[[package]]
1265
1265
+
name = "rand_core"
1266
1266
+
version = "0.6.4"
1267
1267
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1268
1268
+
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
1269
1269
+
1270
1270
+
[[package]]
663
1271
name = "redox_syscall"
664
1272
version = "0.5.17"
665
1273
source = "registry+https://github.com/rust-lang/crates.io-index"
···
669
1277
]
670
1278
671
1279
[[package]]
1280
1280
+
name = "reqwest"
1281
1281
+
version = "0.12.23"
1282
1282
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1283
1283
+
checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb"
1284
1284
+
dependencies = [
1285
1285
+
"base64",
1286
1286
+
"bytes",
1287
1287
+
"encoding_rs",
1288
1288
+
"futures-core",
1289
1289
+
"h2",
1290
1290
+
"http",
1291
1291
+
"http-body",
1292
1292
+
"http-body-util",
1293
1293
+
"hyper",
1294
1294
+
"hyper-rustls",
1295
1295
+
"hyper-tls",
1296
1296
+
"hyper-util",
1297
1297
+
"js-sys",
1298
1298
+
"log",
1299
1299
+
"mime",
1300
1300
+
"native-tls",
1301
1301
+
"percent-encoding",
1302
1302
+
"pin-project-lite",
1303
1303
+
"rustls-pki-types",
1304
1304
+
"serde",
1305
1305
+
"serde_json",
1306
1306
+
"serde_urlencoded",
1307
1307
+
"sync_wrapper",
1308
1308
+
"tokio",
1309
1309
+
"tokio-native-tls",
1310
1310
+
"tower",
1311
1311
+
"tower-http",
1312
1312
+
"tower-service",
1313
1313
+
"url",
1314
1314
+
"wasm-bindgen",
1315
1315
+
"wasm-bindgen-futures",
1316
1316
+
"web-sys",
1317
1317
+
]
1318
1318
+
1319
1319
+
[[package]]
1320
1320
+
name = "ring"
1321
1321
+
version = "0.17.14"
1322
1322
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1323
1323
+
checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
1324
1324
+
dependencies = [
1325
1325
+
"cc",
1326
1326
+
"cfg-if",
1327
1327
+
"getrandom 0.2.16",
1328
1328
+
"libc",
1329
1329
+
"untrusted",
1330
1330
+
"windows-sys 0.52.0",
1331
1331
+
]
1332
1332
+
1333
1333
+
[[package]]
672
1334
name = "rustc-demangle"
673
1335
version = "0.1.26"
674
1336
source = "registry+https://github.com/rust-lang/crates.io-index"
···
681
1343
checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
682
1344
683
1345
[[package]]
1346
1346
+
name = "rustix"
1347
1347
+
version = "1.0.8"
1348
1348
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1349
1349
+
checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
1350
1350
+
dependencies = [
1351
1351
+
"bitflags",
1352
1352
+
"errno",
1353
1353
+
"libc",
1354
1354
+
"linux-raw-sys",
1355
1355
+
"windows-sys 0.59.0",
1356
1356
+
]
1357
1357
+
1358
1358
+
[[package]]
1359
1359
+
name = "rustls"
1360
1360
+
version = "0.23.31"
1361
1361
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1362
1362
+
checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc"
1363
1363
+
dependencies = [
1364
1364
+
"once_cell",
1365
1365
+
"rustls-pki-types",
1366
1366
+
"rustls-webpki",
1367
1367
+
"subtle",
1368
1368
+
"zeroize",
1369
1369
+
]
1370
1370
+
1371
1371
+
[[package]]
1372
1372
+
name = "rustls-pki-types"
1373
1373
+
version = "1.12.0"
1374
1374
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1375
1375
+
checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79"
1376
1376
+
dependencies = [
1377
1377
+
"zeroize",
1378
1378
+
]
1379
1379
+
1380
1380
+
[[package]]
1381
1381
+
name = "rustls-webpki"
1382
1382
+
version = "0.103.4"
1383
1383
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1384
1384
+
checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc"
1385
1385
+
dependencies = [
1386
1386
+
"ring",
1387
1387
+
"rustls-pki-types",
1388
1388
+
"untrusted",
1389
1389
+
]
1390
1390
+
1391
1391
+
[[package]]
684
1392
name = "rustversion"
685
1393
version = "1.0.22"
686
1394
source = "registry+https://github.com/rust-lang/crates.io-index"
···
693
1401
checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
694
1402
695
1403
[[package]]
1404
1404
+
name = "schannel"
1405
1405
+
version = "0.1.27"
1406
1406
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1407
1407
+
checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d"
1408
1408
+
dependencies = [
1409
1409
+
"windows-sys 0.59.0",
1410
1410
+
]
1411
1411
+
1412
1412
+
[[package]]
696
1413
name = "scopeguard"
697
1414
version = "1.2.0"
698
1415
source = "registry+https://github.com/rust-lang/crates.io-index"
699
1416
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
700
1417
701
1418
[[package]]
1419
1419
+
name = "scraper"
1420
1420
+
version = "0.24.0"
1421
1421
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1422
1422
+
checksum = "e5f3a24d916e78954af99281a455168d4a9515d65eca99a18da1b813689c4ad9"
1423
1423
+
dependencies = [
1424
1424
+
"cssparser",
1425
1425
+
"ego-tree",
1426
1426
+
"getopts",
1427
1427
+
"html5ever",
1428
1428
+
"precomputed-hash",
1429
1429
+
"selectors",
1430
1430
+
"tendril",
1431
1431
+
]
1432
1432
+
1433
1433
+
[[package]]
1434
1434
+
name = "security-framework"
1435
1435
+
version = "2.11.1"
1436
1436
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1437
1437
+
checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
1438
1438
+
dependencies = [
1439
1439
+
"bitflags",
1440
1440
+
"core-foundation",
1441
1441
+
"core-foundation-sys",
1442
1442
+
"libc",
1443
1443
+
"security-framework-sys",
1444
1444
+
]
1445
1445
+
1446
1446
+
[[package]]
1447
1447
+
name = "security-framework-sys"
1448
1448
+
version = "2.14.0"
1449
1449
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1450
1450
+
checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32"
1451
1451
+
dependencies = [
1452
1452
+
"core-foundation-sys",
1453
1453
+
"libc",
1454
1454
+
]
1455
1455
+
1456
1456
+
[[package]]
1457
1457
+
name = "selectors"
1458
1458
+
version = "0.31.0"
1459
1459
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1460
1460
+
checksum = "5685b6ae43bfcf7d2e7dfcfb5d8e8f61b46442c902531e41a32a9a8bf0ee0fb6"
1461
1461
+
dependencies = [
1462
1462
+
"bitflags",
1463
1463
+
"cssparser",
1464
1464
+
"derive_more",
1465
1465
+
"fxhash",
1466
1466
+
"log",
1467
1467
+
"new_debug_unreachable",
1468
1468
+
"phf",
1469
1469
+
"phf_codegen",
1470
1470
+
"precomputed-hash",
1471
1471
+
"servo_arc",
1472
1472
+
"smallvec",
1473
1473
+
]
1474
1474
+
1475
1475
+
[[package]]
702
1476
name = "serde"
703
1477
version = "1.0.219"
704
1478
source = "registry+https://github.com/rust-lang/crates.io-index"
···
753
1527
]
754
1528
755
1529
[[package]]
1530
1530
+
name = "servo_arc"
1531
1531
+
version = "0.4.1"
1532
1532
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1533
1533
+
checksum = "204ea332803bd95a0b60388590d59cf6468ec9becf626e2451f1d26a1d972de4"
1534
1534
+
dependencies = [
1535
1535
+
"stable_deref_trait",
1536
1536
+
]
1537
1537
+
1538
1538
+
[[package]]
756
1539
name = "sharded-slab"
757
1540
version = "0.1.7"
758
1541
source = "registry+https://github.com/rust-lang/crates.io-index"
···
777
1560
]
778
1561
779
1562
[[package]]
1563
1563
+
name = "siphasher"
1564
1564
+
version = "1.0.1"
1565
1565
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1566
1566
+
checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
1567
1567
+
1568
1568
+
[[package]]
780
1569
name = "slab"
781
1570
version = "0.4.11"
782
1571
source = "registry+https://github.com/rust-lang/crates.io-index"
···
795
1584
checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807"
796
1585
dependencies = [
797
1586
"libc",
798
798
-
"windows-sys",
1587
1587
+
"windows-sys 0.59.0",
799
1588
]
1589
1589
+
1590
1590
+
[[package]]
1591
1591
+
name = "stable_deref_trait"
1592
1592
+
version = "1.2.0"
1593
1593
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1594
1594
+
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
1595
1595
+
1596
1596
+
[[package]]
1597
1597
+
name = "string_cache"
1598
1598
+
version = "0.8.9"
1599
1599
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1600
1600
+
checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f"
1601
1601
+
dependencies = [
1602
1602
+
"new_debug_unreachable",
1603
1603
+
"parking_lot",
1604
1604
+
"phf_shared",
1605
1605
+
"precomputed-hash",
1606
1606
+
"serde",
1607
1607
+
]
1608
1608
+
1609
1609
+
[[package]]
1610
1610
+
name = "string_cache_codegen"
1611
1611
+
version = "0.5.4"
1612
1612
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1613
1613
+
checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0"
1614
1614
+
dependencies = [
1615
1615
+
"phf_generator",
1616
1616
+
"phf_shared",
1617
1617
+
"proc-macro2",
1618
1618
+
"quote",
1619
1619
+
]
1620
1620
+
1621
1621
+
[[package]]
1622
1622
+
name = "subtle"
1623
1623
+
version = "2.6.1"
1624
1624
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1625
1625
+
checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
800
1626
801
1627
[[package]]
802
1628
name = "syn"
···
814
1640
version = "1.0.2"
815
1641
source = "registry+https://github.com/rust-lang/crates.io-index"
816
1642
checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263"
1643
1643
+
dependencies = [
1644
1644
+
"futures-core",
1645
1645
+
]
1646
1646
+
1647
1647
+
[[package]]
1648
1648
+
name = "synstructure"
1649
1649
+
version = "0.13.2"
1650
1650
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1651
1651
+
checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
1652
1652
+
dependencies = [
1653
1653
+
"proc-macro2",
1654
1654
+
"quote",
1655
1655
+
"syn",
1656
1656
+
]
1657
1657
+
1658
1658
+
[[package]]
1659
1659
+
name = "system-configuration"
1660
1660
+
version = "0.6.1"
1661
1661
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1662
1662
+
checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
1663
1663
+
dependencies = [
1664
1664
+
"bitflags",
1665
1665
+
"core-foundation",
1666
1666
+
"system-configuration-sys",
1667
1667
+
]
1668
1668
+
1669
1669
+
[[package]]
1670
1670
+
name = "system-configuration-sys"
1671
1671
+
version = "0.6.0"
1672
1672
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1673
1673
+
checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4"
1674
1674
+
dependencies = [
1675
1675
+
"core-foundation-sys",
1676
1676
+
"libc",
1677
1677
+
]
1678
1678
+
1679
1679
+
[[package]]
1680
1680
+
name = "tempfile"
1681
1681
+
version = "3.21.0"
1682
1682
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1683
1683
+
checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e"
1684
1684
+
dependencies = [
1685
1685
+
"fastrand",
1686
1686
+
"getrandom 0.3.3",
1687
1687
+
"once_cell",
1688
1688
+
"rustix",
1689
1689
+
"windows-sys 0.59.0",
1690
1690
+
]
1691
1691
+
1692
1692
+
[[package]]
1693
1693
+
name = "tendril"
1694
1694
+
version = "0.4.3"
1695
1695
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1696
1696
+
checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"
1697
1697
+
dependencies = [
1698
1698
+
"futf",
1699
1699
+
"mac",
1700
1700
+
"utf-8",
1701
1701
+
]
817
1702
818
1703
[[package]]
819
1704
name = "thread_local"
···
825
1710
]
826
1711
827
1712
[[package]]
1713
1713
+
name = "tinystr"
1714
1714
+
version = "0.8.1"
1715
1715
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1716
1716
+
checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b"
1717
1717
+
dependencies = [
1718
1718
+
"displaydoc",
1719
1719
+
"zerovec",
1720
1720
+
]
1721
1721
+
1722
1722
+
[[package]]
828
1723
name = "tokio"
829
1724
version = "1.47.1"
830
1725
source = "registry+https://github.com/rust-lang/crates.io-index"
···
841
1736
"slab",
842
1737
"socket2",
843
1738
"tokio-macros",
844
844
-
"windows-sys",
1739
1739
+
"windows-sys 0.59.0",
845
1740
]
846
1741
847
1742
[[package]]
···
856
1751
]
857
1752
858
1753
[[package]]
1754
1754
+
name = "tokio-native-tls"
1755
1755
+
version = "0.3.1"
1756
1756
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1757
1757
+
checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
1758
1758
+
dependencies = [
1759
1759
+
"native-tls",
1760
1760
+
"tokio",
1761
1761
+
]
1762
1762
+
1763
1763
+
[[package]]
1764
1764
+
name = "tokio-rustls"
1765
1765
+
version = "0.26.2"
1766
1766
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1767
1767
+
checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b"
1768
1768
+
dependencies = [
1769
1769
+
"rustls",
1770
1770
+
"tokio",
1771
1771
+
]
1772
1772
+
1773
1773
+
[[package]]
859
1774
name = "tokio-util"
860
1775
version = "0.7.16"
861
1776
source = "registry+https://github.com/rust-lang/crates.io-index"
···
900
1815
"http-body-util",
901
1816
"http-range-header",
902
1817
"httpdate",
1818
1818
+
"iri-string",
903
1819
"mime",
904
1820
"mime_guess",
905
1821
"percent-encoding",
906
1822
"pin-project-lite",
907
1823
"tokio",
908
1824
"tokio-util",
1825
1825
+
"tower",
909
1826
"tower-layer",
910
1827
"tower-service",
911
1828
"tracing",
···
982
1899
]
983
1900
984
1901
[[package]]
1902
1902
+
name = "try-lock"
1903
1903
+
version = "0.2.5"
1904
1904
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1905
1905
+
checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
1906
1906
+
1907
1907
+
[[package]]
985
1908
name = "unicase"
986
1909
version = "2.8.1"
987
1910
source = "registry+https://github.com/rust-lang/crates.io-index"
···
994
1917
checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
995
1918
996
1919
[[package]]
1920
1920
+
name = "unicode-width"
1921
1921
+
version = "0.2.1"
1922
1922
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1923
1923
+
checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c"
1924
1924
+
1925
1925
+
[[package]]
1926
1926
+
name = "untrusted"
1927
1927
+
version = "0.9.0"
1928
1928
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1929
1929
+
checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
1930
1930
+
1931
1931
+
[[package]]
1932
1932
+
name = "url"
1933
1933
+
version = "2.5.7"
1934
1934
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1935
1935
+
checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b"
1936
1936
+
dependencies = [
1937
1937
+
"form_urlencoded",
1938
1938
+
"idna",
1939
1939
+
"percent-encoding",
1940
1940
+
"serde",
1941
1941
+
]
1942
1942
+
1943
1943
+
[[package]]
1944
1944
+
name = "utf-8"
1945
1945
+
version = "0.7.6"
1946
1946
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1947
1947
+
checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
1948
1948
+
1949
1949
+
[[package]]
1950
1950
+
name = "utf8_iter"
1951
1951
+
version = "1.0.4"
1952
1952
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1953
1953
+
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
1954
1954
+
1955
1955
+
[[package]]
997
1956
name = "valuable"
998
1957
version = "0.1.1"
999
1958
source = "registry+https://github.com/rust-lang/crates.io-index"
1000
1959
checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
1001
1960
1002
1961
[[package]]
1962
1962
+
name = "vcpkg"
1963
1963
+
version = "0.2.15"
1964
1964
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1965
1965
+
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
1966
1966
+
1967
1967
+
[[package]]
1968
1968
+
name = "want"
1969
1969
+
version = "0.3.1"
1970
1970
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1971
1971
+
checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
1972
1972
+
dependencies = [
1973
1973
+
"try-lock",
1974
1974
+
]
1975
1975
+
1976
1976
+
[[package]]
1003
1977
name = "wasi"
1004
1978
version = "0.11.1+wasi-snapshot-preview1"
1005
1979
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1015
1989
]
1016
1990
1017
1991
[[package]]
1992
1992
+
name = "wasm-bindgen"
1993
1993
+
version = "0.2.100"
1994
1994
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1995
1995
+
checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
1996
1996
+
dependencies = [
1997
1997
+
"cfg-if",
1998
1998
+
"once_cell",
1999
1999
+
"rustversion",
2000
2000
+
"wasm-bindgen-macro",
2001
2001
+
]
2002
2002
+
2003
2003
+
[[package]]
2004
2004
+
name = "wasm-bindgen-backend"
2005
2005
+
version = "0.2.100"
2006
2006
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2007
2007
+
checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
2008
2008
+
dependencies = [
2009
2009
+
"bumpalo",
2010
2010
+
"log",
2011
2011
+
"proc-macro2",
2012
2012
+
"quote",
2013
2013
+
"syn",
2014
2014
+
"wasm-bindgen-shared",
2015
2015
+
]
2016
2016
+
2017
2017
+
[[package]]
2018
2018
+
name = "wasm-bindgen-futures"
2019
2019
+
version = "0.4.50"
2020
2020
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2021
2021
+
checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61"
2022
2022
+
dependencies = [
2023
2023
+
"cfg-if",
2024
2024
+
"js-sys",
2025
2025
+
"once_cell",
2026
2026
+
"wasm-bindgen",
2027
2027
+
"web-sys",
2028
2028
+
]
2029
2029
+
2030
2030
+
[[package]]
2031
2031
+
name = "wasm-bindgen-macro"
2032
2032
+
version = "0.2.100"
2033
2033
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2034
2034
+
checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
2035
2035
+
dependencies = [
2036
2036
+
"quote",
2037
2037
+
"wasm-bindgen-macro-support",
2038
2038
+
]
2039
2039
+
2040
2040
+
[[package]]
2041
2041
+
name = "wasm-bindgen-macro-support"
2042
2042
+
version = "0.2.100"
2043
2043
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2044
2044
+
checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
2045
2045
+
dependencies = [
2046
2046
+
"proc-macro2",
2047
2047
+
"quote",
2048
2048
+
"syn",
2049
2049
+
"wasm-bindgen-backend",
2050
2050
+
"wasm-bindgen-shared",
2051
2051
+
]
2052
2052
+
2053
2053
+
[[package]]
2054
2054
+
name = "wasm-bindgen-shared"
2055
2055
+
version = "0.2.100"
2056
2056
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2057
2057
+
checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
2058
2058
+
dependencies = [
2059
2059
+
"unicode-ident",
2060
2060
+
]
2061
2061
+
2062
2062
+
[[package]]
2063
2063
+
name = "web-sys"
2064
2064
+
version = "0.3.77"
2065
2065
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2066
2066
+
checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2"
2067
2067
+
dependencies = [
2068
2068
+
"js-sys",
2069
2069
+
"wasm-bindgen",
2070
2070
+
]
2071
2071
+
2072
2072
+
[[package]]
2073
2073
+
name = "web_atoms"
2074
2074
+
version = "0.1.3"
2075
2075
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2076
2076
+
checksum = "57ffde1dc01240bdf9992e3205668b235e59421fd085e8a317ed98da0178d414"
2077
2077
+
dependencies = [
2078
2078
+
"phf",
2079
2079
+
"phf_codegen",
2080
2080
+
"string_cache",
2081
2081
+
"string_cache_codegen",
2082
2082
+
]
2083
2083
+
2084
2084
+
[[package]]
1018
2085
name = "winapi"
1019
2086
version = "0.3.9"
1020
2087
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1037
2104
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
1038
2105
1039
2106
[[package]]
2107
2107
+
name = "windows-link"
2108
2108
+
version = "0.1.3"
2109
2109
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2110
2110
+
checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
2111
2111
+
2112
2112
+
[[package]]
2113
2113
+
name = "windows-registry"
2114
2114
+
version = "0.5.3"
2115
2115
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2116
2116
+
checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e"
2117
2117
+
dependencies = [
2118
2118
+
"windows-link",
2119
2119
+
"windows-result",
2120
2120
+
"windows-strings",
2121
2121
+
]
2122
2122
+
2123
2123
+
[[package]]
2124
2124
+
name = "windows-result"
2125
2125
+
version = "0.3.4"
2126
2126
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2127
2127
+
checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
2128
2128
+
dependencies = [
2129
2129
+
"windows-link",
2130
2130
+
]
2131
2131
+
2132
2132
+
[[package]]
2133
2133
+
name = "windows-strings"
2134
2134
+
version = "0.4.2"
2135
2135
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2136
2136
+
checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
2137
2137
+
dependencies = [
2138
2138
+
"windows-link",
2139
2139
+
]
2140
2140
+
2141
2141
+
[[package]]
2142
2142
+
name = "windows-sys"
2143
2143
+
version = "0.52.0"
2144
2144
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2145
2145
+
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
2146
2146
+
dependencies = [
2147
2147
+
"windows-targets",
2148
2148
+
]
2149
2149
+
2150
2150
+
[[package]]
1040
2151
name = "windows-sys"
1041
2152
version = "0.59.0"
1042
2153
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1125
2236
checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
1126
2237
dependencies = [
1127
2238
"bitflags",
2239
2239
+
]
2240
2240
+
2241
2241
+
[[package]]
2242
2242
+
name = "writeable"
2243
2243
+
version = "0.6.1"
2244
2244
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2245
2245
+
checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
2246
2246
+
2247
2247
+
[[package]]
2248
2248
+
name = "yoke"
2249
2249
+
version = "0.8.0"
2250
2250
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2251
2251
+
checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc"
2252
2252
+
dependencies = [
2253
2253
+
"serde",
2254
2254
+
"stable_deref_trait",
2255
2255
+
"yoke-derive",
2256
2256
+
"zerofrom",
2257
2257
+
]
2258
2258
+
2259
2259
+
[[package]]
2260
2260
+
name = "yoke-derive"
2261
2261
+
version = "0.8.0"
2262
2262
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2263
2263
+
checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6"
2264
2264
+
dependencies = [
2265
2265
+
"proc-macro2",
2266
2266
+
"quote",
2267
2267
+
"syn",
2268
2268
+
"synstructure",
2269
2269
+
]
2270
2270
+
2271
2271
+
[[package]]
2272
2272
+
name = "zerofrom"
2273
2273
+
version = "0.1.6"
2274
2274
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2275
2275
+
checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5"
2276
2276
+
dependencies = [
2277
2277
+
"zerofrom-derive",
2278
2278
+
]
2279
2279
+
2280
2280
+
[[package]]
2281
2281
+
name = "zerofrom-derive"
2282
2282
+
version = "0.1.6"
2283
2283
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2284
2284
+
checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
2285
2285
+
dependencies = [
2286
2286
+
"proc-macro2",
2287
2287
+
"quote",
2288
2288
+
"syn",
2289
2289
+
"synstructure",
2290
2290
+
]
2291
2291
+
2292
2292
+
[[package]]
2293
2293
+
name = "zeroize"
2294
2294
+
version = "1.8.1"
2295
2295
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2296
2296
+
checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
2297
2297
+
2298
2298
+
[[package]]
2299
2299
+
name = "zerotrie"
2300
2300
+
version = "0.2.2"
2301
2301
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2302
2302
+
checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595"
2303
2303
+
dependencies = [
2304
2304
+
"displaydoc",
2305
2305
+
"yoke",
2306
2306
+
"zerofrom",
2307
2307
+
]
2308
2308
+
2309
2309
+
[[package]]
2310
2310
+
name = "zerovec"
2311
2311
+
version = "0.11.4"
2312
2312
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2313
2313
+
checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b"
2314
2314
+
dependencies = [
2315
2315
+
"yoke",
2316
2316
+
"zerofrom",
2317
2317
+
"zerovec-derive",
2318
2318
+
]
2319
2319
+
2320
2320
+
[[package]]
2321
2321
+
name = "zerovec-derive"
2322
2322
+
version = "0.11.1"
2323
2323
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2324
2324
+
checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f"
2325
2325
+
dependencies = [
2326
2326
+
"proc-macro2",
2327
2327
+
"quote",
2328
2328
+
"syn",
1128
2329
]
1129
2330
1130
2331
[[package]]
+2
server/Cargo.toml
···
9
9
anyhow = "1.0.57"
10
10
askama = "0.14.0"
11
11
axum = "0.8.1"
12
12
+
reqwest = "0.12.23"
13
13
+
scraper = "0.24.0"
12
14
tokio = { version = "1.18.2", features = ["full"] }
13
15
tower = "0.5.2"
14
16
tower-http = { version = "0.6.2", features = ["compression-full", "fs", "trace", "set-header"] }
+12
-3
server/src/index.rs
···
1
1
+
use crate::scrapers::backloggd::Backloggd;
2
2
+
1
3
use askama::Template;
2
4
3
5
#[derive(Template, Debug, Clone)]
4
6
#[template(path = "index.html")]
5
5
-
pub struct RootTemplate {}
7
7
+
pub struct RootTemplate {
8
8
+
game: Option<Backloggd>,
9
9
+
}
6
10
7
11
impl RootTemplate {
8
8
-
pub fn new() -> RootTemplate {
9
9
-
RootTemplate {}
12
12
+
pub async fn new() -> RootTemplate {
13
13
+
RootTemplate {
14
14
+
game: Backloggd::fetch()
15
15
+
.await
16
16
+
.map_err(|error| tracing::warn!(%error, "failed to scrape Backloggd"))
17
17
+
.ok(),
18
18
+
}
10
19
}
11
20
}
+2
-1
server/src/main.rs
···
1
1
mod index;
2
2
+
mod scrapers;
2
3
3
4
use std::net::SocketAddr;
4
5
···
43
44
}
44
45
45
46
async fn render_index_handler() -> impl IntoResponse {
46
46
-
let template = RootTemplate::new();
47
47
+
let template = RootTemplate::new().await;
47
48
template.render().map(Html).map_err(|err| {
48
49
tracing::error!("failed to render index: {err:?}");
49
50
StatusCode::INTERNAL_SERVER_ERROR
+1
server/src/scrapers.rs
···
1
1
+
pub mod backloggd;
+51
server/src/scrapers/backloggd.rs
···
1
1
+
use std::sync::LazyLock;
2
2
+
3
3
+
use anyhow::Context;
4
4
+
use scraper::{Html, Selector};
5
5
+
6
6
+
#[derive(Debug, Clone)]
7
7
+
pub struct Backloggd {
8
8
+
pub name: String,
9
9
+
pub image: String,
10
10
+
}
11
11
+
12
12
+
impl Backloggd {
13
13
+
pub async fn fetch() -> anyhow::Result<Self> {
14
14
+
static FIRST_ENTRY_SEL: LazyLock<Selector> =
15
15
+
LazyLock::new(|| Selector::parse(".journal_entry:first-child").unwrap());
16
16
+
static NAME_SEL: LazyLock<Selector> =
17
17
+
LazyLock::new(|| Selector::parse(".game-name a").unwrap());
18
18
+
static IMAGE_SEL: LazyLock<Selector> =
19
19
+
LazyLock::new(|| Selector::parse(".card-img").unwrap());
20
20
+
21
21
+
let html = reqwest::get("https://backloggd.com/u/cherryfunk/journal")
22
22
+
.await
23
23
+
.context("failed to fetch Backloggd page")?
24
24
+
.text()
25
25
+
.await
26
26
+
.context("failed to get HTML text")?;
27
27
+
let document = Html::parse_document(&html);
28
28
+
29
29
+
let first_entry = document
30
30
+
.select(&FIRST_ENTRY_SEL)
31
31
+
.next()
32
32
+
.context("couldn't find any journal entries")?;
33
33
+
let name = first_entry
34
34
+
.select(&NAME_SEL)
35
35
+
.next()
36
36
+
.context("couldn't find name element")?
37
37
+
.text()
38
38
+
.next()
39
39
+
.context("name element didn't have any text")?
40
40
+
.to_owned();
41
41
+
let image = first_entry
42
42
+
.select(&IMAGE_SEL)
43
43
+
.next()
44
44
+
.context("couldn't find image element")?
45
45
+
.attr("src")
46
46
+
.context("image element didn't have src attribute")?
47
47
+
.to_owned();
48
48
+
49
49
+
Ok(Self { name, image })
50
50
+
}
51
51
+
}
+9
server/templates/index.html
···
17
17
>.computer
18
18
</h1>
19
19
</div>
20
20
+
<div class="flex justify-center">
21
21
+
{% if let Some(game) = game -%}
22
22
+
<img
23
23
+
class="p-3"
24
24
+
src="{{ game.image }}"
25
25
+
alt="Cover art for {{ game.name }}"
26
26
+
/>
27
27
+
{%- endif %}
28
28
+
</div>
20
29
</div>
21
30
</body>
22
31
</html>