ofs | hex dump | ascii |
---|
0000 | 6e 6f 76 2d 32 30 32 35 30 36 31 35 2e 31 30 35 31 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | nov-20250615.1051/.............. |
0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0060 | 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000755.0000000.0000000.0000 |
0080 | 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 36 30 36 00 20 35 00 00 00 | 0000000.00000000000.011606..5... |
00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0100 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
0120 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0200 | 6e 6f 76 2d 32 30 32 35 30 36 31 35 2e 31 30 35 31 2f 6e 6f 76 2d 70 6b 67 2e 65 6c 00 00 00 00 | nov-20250615.1051/nov-pkg.el.... |
0220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
0280 | 30 30 30 30 37 30 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 35 31 34 00 20 30 00 00 00 | 0000706.00000000000.013514..0... |
02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0300 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
0320 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0400 | 3b 3b 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63 | ;;.-*-.no-byte-compile:.t;.lexic |
0420 | 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b | al-binding:.nil.-*-.(define-pack |
0440 | 61 67 65 20 22 6e 6f 76 22 20 22 32 30 32 35 30 36 31 35 2e 31 30 35 31 22 0a 20 20 22 46 65 61 | age."nov"."20250615.1051"..."Fea |
0460 | 74 75 72 65 66 75 6c 20 45 50 55 42 20 72 65 61 64 65 72 20 6d 6f 64 65 2e 22 0a 20 20 27 28 28 | tureful.EPUB.reader.mode."...'(( |
0480 | 65 73 78 6d 6c 20 22 30 2e 33 2e 36 22 29 0a 20 20 20 20 28 65 6d 61 63 73 20 22 32 35 2e 31 22 | esxml."0.3.6").....(emacs."25.1" |
04a0 | 29 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 64 65 70 70 2e 62 72 61 75 73 65 2e 63 | ))...:url."https://depp.brause.c |
04c0 | 63 2f 6e 6f 76 2e 65 6c 22 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 39 33 33 38 31 36 63 31 39 30 36 | c/nov.el"...:commit."933816c1906 |
04e0 | 33 33 66 61 31 66 32 66 30 36 36 37 62 61 31 30 35 64 31 33 31 31 35 37 32 62 33 63 36 22 0a 20 | 33fa1f2f0667ba105d1311572b3c6".. |
0500 | 20 3a 72 65 76 64 65 73 63 20 22 39 33 33 38 31 36 63 31 39 30 36 33 22 0a 20 20 3a 6b 65 79 77 | .:revdesc."933816c19063"...:keyw |
0520 | 6f 72 64 73 20 27 28 22 68 79 70 65 72 6d 65 64 69 61 22 20 22 6d 75 6c 74 69 6d 65 64 69 61 22 | ords.'("hypermedia"."multimedia" |
0540 | 20 22 65 70 75 62 22 29 0a 20 20 3a 61 75 74 68 6f 72 73 20 27 28 28 22 56 61 73 69 6c 69 6a 20 | ."epub")...:authors.'(("Vasilij. |
0560 | 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e 22 20 2e 20 22 6d 61 69 6c 40 76 61 73 69 6c 69 6a 2e 64 | Schneidermann"..."mail@vasilij.d |
0580 | 65 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 20 27 28 28 22 56 61 73 69 6c 69 6a 20 | e"))...:maintainers.'(("Vasilij. |
05a0 | 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e 22 20 2e 20 22 6d 61 69 6c 40 76 61 73 69 6c 69 6a 2e 64 | Schneidermann"..."mail@vasilij.d |
05c0 | 65 22 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | e")))........................... |
05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0600 | 6e 6f 76 2d 32 30 32 35 30 36 31 35 2e 31 30 35 31 2f 6e 6f 76 2e 65 6c 00 00 00 00 00 00 00 00 | nov-20250615.1051/nov.el........ |
0620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0660 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
0680 | 30 31 32 32 31 30 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 37 33 35 00 20 30 00 00 00 | 0122107.00000000000.012735..0... |
06a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
06c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
06e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0700 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
0720 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0800 | 3b 3b 3b 20 6e 6f 76 2e 65 6c 20 2d 2d 2d 20 46 65 61 74 75 72 65 66 75 6c 20 45 50 55 42 20 72 | ;;;.nov.el.---.Featureful.EPUB.r |
0820 | 65 61 64 65 72 20 6d 6f 64 65 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 74 | eader.mode.-*-.lexical-binding:t |
0840 | 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 37 20 56 61 73 69 | .-*-..;;.Copyright.(C).2017.Vasi |
0860 | 6c 69 6a 20 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e 20 3c 6d 61 69 6c 40 76 61 73 69 6c 69 6a 2e | lij.Schneidermann.<mail@vasilij. |
0880 | 64 65 3e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 | de>..;;.Author:.Vasilij.Schneide |
08a0 | 72 6d 61 6e 6e 20 3c 6d 61 69 6c 40 76 61 73 69 6c 69 6a 2e 64 65 3e 0a 3b 3b 20 55 52 4c 3a 20 | rmann.<mail@vasilij.de>.;;.URL:. |
08c0 | 68 74 74 70 73 3a 2f 2f 64 65 70 70 2e 62 72 61 75 73 65 2e 63 63 2f 6e 6f 76 2e 65 6c 0a 3b 3b | https://depp.brause.cc/nov.el.;; |
08e0 | 20 50 61 63 6b 61 67 65 2d 56 65 72 73 69 6f 6e 3a 20 32 30 32 35 30 36 31 35 2e 31 30 35 31 0a | .Package-Version:.20250615.1051. |
0900 | 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 76 69 73 69 6f 6e 3a 20 39 33 33 38 31 36 63 31 39 30 36 | ;;.Package-Revision:.933816c1906 |
0920 | 33 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 73 78 6d 6c 20 22 | 3.;;.Package-Requires:.((esxml." |
0940 | 30 2e 33 2e 36 22 29 20 28 65 6d 61 63 73 20 22 32 35 2e 31 22 29 29 0a 3b 3b 20 4b 65 79 77 6f | 0.3.6").(emacs."25.1")).;;.Keywo |
0960 | 72 64 73 3a 20 68 79 70 65 72 6d 65 64 69 61 2c 20 6d 75 6c 74 69 6d 65 64 69 61 2c 20 65 70 75 | rds:.hypermedia,.multimedia,.epu |
0980 | 62 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 | b..;;.This.file.is.NOT.part.of.G |
09a0 | 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 | NU.Emacs...;;.This.program.is.fr |
09c0 | 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 | ee.software;.you.can.redistribut |
09e0 | 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 | e.it.and/or.modify.;;.it.under.t |
0a00 | 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c | he.terms.of.the.GNU.General.Publ |
0a20 | 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 | ic.License.as.published.by.;;.th |
0a40 | 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 | e.Free.Software.Foundation,.eith |
0a60 | 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a | er.version.3.of.the.License,.or. |
0a80 | 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 | ;;.(at.your.option).any.later.ve |
0aa0 | 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 | rsion...;;.This.program.is.distr |
0ac0 | 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 | ibuted.in.the.hope.that.it.will. |
0ae0 | 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 | be.useful,.;;.but.WITHOUT.ANY.WA |
0b00 | 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 | RRANTY;.without.even.the.implied |
0b20 | 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 | .warranty.of.;;.MERCHANTABILITY. |
0b40 | 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 | or.FITNESS.FOR.A.PARTICULAR.PURP |
0b60 | 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 | OSE...See.the.;;.GNU.General.Pub |
0b80 | 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b | lic.License.for.more.details...; |
0ba0 | 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 | ;.You.should.have.received.a.cop |
0bc0 | 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 | y.of.the.GNU.General.Public.Lice |
0be0 | 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 | nse.;;.along.with.this.program.. |
0c00 | 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 | .If.not,.see.<http://www.gnu.org |
0c20 | 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b | /licenses/>...;;;.Commentary:..; |
0c40 | 3b 20 6e 6f 76 2e 65 6c 20 70 72 6f 76 69 64 65 73 20 61 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 66 | ;.nov.el.provides.a.major.mode.f |
0c60 | 6f 72 20 72 65 61 64 69 6e 67 20 45 50 55 42 20 64 6f 63 75 6d 65 6e 74 73 2e 0a 3b 3b 0a 3b 3b | or.reading.EPUB.documents..;;.;; |
0c80 | 20 46 65 61 74 75 72 65 73 3a 0a 3b 3b 0a 3b 3b 20 2d 20 42 61 73 69 63 20 6e 61 76 69 67 61 74 | .Features:.;;.;;.-.Basic.navigat |
0ca0 | 69 6f 6e 20 28 6a 75 6d 70 20 74 6f 20 54 4f 43 2c 20 70 72 65 76 69 6f 75 73 2f 6e 65 78 74 20 | ion.(jump.to.TOC,.previous/next. |
0cc0 | 63 68 61 70 74 65 72 29 0a 3b 3b 20 2d 20 52 65 6d 65 6d 62 65 72 69 6e 67 20 61 6e 64 20 72 65 | chapter).;;.-.Remembering.and.re |
0ce0 | 73 74 6f 72 69 6e 67 20 74 68 65 20 6c 61 73 74 20 72 65 61 64 20 70 6f 73 69 74 69 6f 6e 0a 3b | storing.the.last.read.position.; |
0d00 | 3b 20 2d 20 4a 75 6d 70 20 74 6f 20 6e 65 78 74 20 63 68 61 70 74 65 72 20 77 68 65 6e 20 73 63 | ;.-.Jump.to.next.chapter.when.sc |
0d20 | 72 6f 6c 6c 69 6e 67 20 62 65 79 6f 6e 64 20 65 6e 64 0a 3b 3b 20 2d 20 53 74 6f 72 69 6e 67 20 | rolling.beyond.end.;;.-.Storing. |
0d40 | 61 6e 64 20 66 6f 6c 6c 6f 77 69 6e 67 20 4f 72 67 20 6c 69 6e 6b 73 20 74 6f 20 45 50 55 42 20 | and.following.Org.links.to.EPUB. |
0d60 | 66 69 6c 65 73 0a 3b 3b 20 2d 20 52 65 6e 64 65 72 73 20 45 50 55 42 32 20 28 2e 6e 63 78 29 20 | files.;;.-.Renders.EPUB2.(.ncx). |
0d80 | 61 6e 64 20 45 50 55 42 33 20 28 3c 6e 61 76 3e 29 20 54 4f 43 73 0a 3b 3b 20 2d 20 48 79 70 65 | and.EPUB3.(<nav>).TOCs.;;.-.Hype |
0da0 | 72 6c 69 6e 6b 73 20 74 6f 20 69 6e 74 65 72 6e 61 6c 20 61 6e 64 20 65 78 74 65 72 6e 61 6c 20 | rlinks.to.internal.and.external. |
0dc0 | 74 61 72 67 65 74 73 0a 3b 3b 20 2d 20 53 75 70 70 6f 72 74 73 20 74 65 78 74 75 61 6c 20 61 6e | targets.;;.-.Supports.textual.an |
0de0 | 64 20 69 6d 61 67 65 20 64 6f 63 75 6d 65 6e 74 73 0a 3b 3b 20 2d 20 49 6e 66 6f 2d 73 74 79 6c | d.image.documents.;;.-.Info-styl |
0e00 | 65 20 68 69 73 74 6f 72 79 20 6e 61 76 69 67 61 74 69 6f 6e 0a 3b 3b 20 2d 20 56 69 65 77 20 73 | e.history.navigation.;;.-.View.s |
0e20 | 6f 75 72 63 65 20 6f 66 20 64 6f 63 75 6d 65 6e 74 20 66 69 6c 65 73 0a 3b 3b 20 2d 20 4d 65 74 | ource.of.document.files.;;.-.Met |
0e40 | 61 64 61 74 61 20 64 69 73 70 6c 61 79 0a 3b 3b 20 2d 20 49 6d 61 67 65 20 72 65 73 63 61 6c 69 | adata.display.;;.-.Image.rescali |
0e60 | 6e 67 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 | ng..;;;.Code:..(require.'cl-lib) |
0e80 | 0a 28 72 65 71 75 69 72 65 20 27 64 6f 6d 29 0a 28 72 65 71 75 69 72 65 20 27 65 73 78 6d 6c 2d | .(require.'dom).(require.'esxml- |
0ea0 | 71 75 65 72 79 29 0a 28 72 65 71 75 69 72 65 20 27 69 6d 61 67 65 29 0a 28 72 65 71 75 69 72 65 | query).(require.'image).(require |
0ec0 | 20 27 73 65 71 29 0a 28 72 65 71 75 69 72 65 20 27 73 68 72 29 0a 28 72 65 71 75 69 72 65 20 27 | .'seq).(require.'shr).(require.' |
0ee0 | 75 72 6c 2d 70 61 72 73 65 29 0a 28 72 65 71 75 69 72 65 20 27 75 72 6c 2d 75 74 69 6c 29 0a 0a | url-parse).(require.'url-util).. |
0f00 | 28 72 65 71 75 69 72 65 20 27 62 6f 6f 6b 6d 61 72 6b 29 0a 28 72 65 71 75 69 72 65 20 27 65 61 | (require.'bookmark).(require.'ea |
0f20 | 73 79 6d 65 6e 75 29 0a 28 72 65 71 75 69 72 65 20 27 69 6d 65 6e 75 29 0a 28 72 65 71 75 69 72 | symenu).(require.'imenu).(requir |
0f40 | 65 20 27 6f 72 67 29 0a 28 72 65 71 75 69 72 65 20 27 72 65 63 65 6e 74 66 29 0a 0a 28 77 68 65 | e.'org).(require.'recentf)..(whe |
0f60 | 6e 20 28 6e 6f 74 20 28 66 62 6f 75 6e 64 70 20 27 6c 69 62 78 6d 6c 2d 70 61 72 73 65 2d 78 6d | n.(not.(fboundp.'libxml-parse-xm |
0f80 | 6c 2d 72 65 67 69 6f 6e 29 29 0a 20 20 28 6d 65 73 73 61 67 65 20 22 59 6f 75 72 20 45 6d 61 63 | l-region))...(message."Your.Emac |
0fa0 | 73 20 77 61 73 6e 27 74 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 6c 69 62 78 6d 6c 20 73 75 | s.wasn't.compiled.with.libxml.su |
0fc0 | 70 70 6f 72 74 22 29 29 0a 0a 0c 0a 3b 3b 3b 20 45 50 55 42 20 70 72 65 70 61 72 61 74 69 6f 6e | pport"))....;;;.EPUB.preparation |
0fe0 | 0a 0a 28 64 65 66 67 72 6f 75 70 20 6e 6f 76 20 6e 69 6c 0a 20 20 22 45 50 55 42 20 72 65 61 64 | ..(defgroup.nov.nil..."EPUB.read |
1000 | 65 72 20 6d 6f 64 65 22 0a 20 20 3a 67 72 6f 75 70 20 27 6d 75 6c 74 69 6d 65 64 69 61 29 0a 0a | er.mode"...:group.'multimedia).. |
1020 | 28 64 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 75 6e 7a 69 70 2d 70 72 6f 67 72 61 6d 20 28 65 78 | (defcustom.nov-unzip-program.(ex |
1040 | 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 22 75 6e 7a 69 70 22 29 0a 20 20 22 50 61 74 68 20 74 | ecutable-find."unzip")..."Path.t |
1060 | 6f 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 65 78 65 63 75 74 61 62 6c 65 2e 22 0a 20 20 3a | o.decompression.executable."...: |
1080 | 74 79 70 65 20 27 28 66 69 6c 65 20 3a 6d 75 73 74 2d 6d 61 74 63 68 20 74 29 0a 20 20 3a 67 72 | type.'(file.:must-match.t)...:gr |
10a0 | 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 75 6e 7a 69 70 2d | oup.'nov)..(defcustom.nov-unzip- |
10c0 | 61 72 67 73 20 27 28 22 2d 6f 64 22 20 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d 65 29 | args.'("-od".directory.filename) |
10e0 | 0a 20 20 22 41 72 67 75 6d 65 6e 74 73 20 74 6f 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 65 | ..."Arguments.to.decompression.e |
1100 | 78 65 63 75 74 61 62 6c 65 2e 0a 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 65 78 70 65 63 74 73 | xecutable..This.variable.expects |
1120 | 20 61 20 6c 69 73 74 20 6f 66 20 73 74 72 69 6e 67 73 2c 20 65 78 63 65 70 74 20 66 6f 72 20 60 | .a.list.of.strings,.except.for.` |
1140 | 64 69 72 65 63 74 6f 72 79 27 0a 61 6e 64 20 60 66 69 6c 65 6e 61 6d 65 27 20 73 79 6d 62 6f 6c | directory'.and.`filename'.symbol |
1160 | 73 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 72 65 70 6c 61 63 65 64 20 61 63 63 6f 72 64 | s,.which.will.be.replaced.accord |
1180 | 69 6e 67 6c 79 20 77 68 65 6e 0a 6f 70 65 6e 69 6e 67 20 61 6e 20 45 50 55 42 20 66 69 6c 65 2e | ingly.when.opening.an.EPUB.file. |
11a0 | 22 0a 20 20 3a 74 79 70 65 20 27 28 72 65 70 65 61 74 20 28 63 68 6f 69 63 65 20 28 73 74 72 69 | "...:type.'(repeat.(choice.(stri |
11c0 | 6e 67 20 3a 74 61 67 20 22 41 72 67 75 6d 65 6e 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ng.:tag."Argument")............. |
11e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 44 69 72 65 63 74 | .............(const.:tag."Direct |
1200 | 6f 72 79 22 20 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ory".directory)................. |
1220 | 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 46 69 6c 65 6e 61 6d 65 22 20 | .........(const.:tag."Filename". |
1240 | 66 69 6c 65 6e 61 6d 65 29 29 29 0a 20 20 3a 67 72 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 64 65 66 | filename)))...:group.'nov)..(def |
1260 | 63 75 73 74 6f 6d 20 6e 6f 76 2d 76 61 72 69 61 62 6c 65 2d 70 69 74 63 68 20 74 0a 20 20 22 4e | custom.nov-variable-pitch.t..."N |
1280 | 6f 6e 2d 6e 69 6c 20 69 66 20 61 20 76 61 72 69 61 62 6c 65 20 70 69 74 63 68 20 66 61 63 65 20 | on-nil.if.a.variable.pitch.face. |
12a0 | 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 2e 0a 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 64 65 | should.be.used..Otherwise.the.de |
12c0 | 66 61 75 6c 74 20 66 61 63 65 20 69 73 20 75 73 65 64 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f | fault.face.is.used."...:type.'bo |
12e0 | 6f 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d | olean...:group.'nov)..(defcustom |
1300 | 20 6e 6f 76 2d 74 65 78 74 2d 77 69 64 74 68 20 6e 69 6c 0a 20 20 22 57 69 64 74 68 20 66 69 6c | .nov-text-width.nil..."Width.fil |
1320 | 6c 65 64 20 74 65 78 74 20 73 68 61 6c 6c 20 6f 63 63 75 70 79 2e 0a 41 6e 20 69 6e 74 65 67 65 | led.text.shall.occupy..An.intege |
1340 | 72 20 69 73 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f | r.is.interpreted.as.the.number.o |
1360 | 66 20 63 6f 6c 75 6d 6e 73 2e 20 20 49 66 20 6e 69 6c 2c 20 75 73 65 0a 74 68 65 20 66 75 6c 6c | f.columns...If.nil,.use.the.full |
1380 | 20 77 69 6e 64 6f 77 27 73 20 77 69 64 74 68 2e 20 20 49 66 20 74 2c 20 64 69 73 61 62 6c 65 20 | .window's.width...If.t,.disable. |
13a0 | 66 69 6c 6c 69 6e 67 20 63 6f 6d 70 6c 65 74 65 6c 79 2e 20 20 4e 6f 74 65 0a 74 68 61 74 20 74 | filling.completely...Note.that.t |
13c0 | 68 69 73 20 76 61 72 69 61 62 6c 65 20 6f 6e 6c 79 20 68 61 73 20 61 6e 20 65 66 66 65 63 74 20 | his.variable.only.has.an.effect. |
13e0 | 69 6e 20 45 6d 61 63 73 20 32 35 2e 31 20 6f 72 20 67 72 65 61 74 65 72 2e 22 0a 20 20 3a 74 79 | in.Emacs.25.1.or.greater."...:ty |
1400 | 70 65 20 27 28 63 68 6f 69 63 65 20 28 69 6e 74 65 67 65 72 20 3a 74 61 67 20 22 46 69 78 65 64 | pe.'(choice.(integer.:tag."Fixed |
1420 | 20 77 69 64 74 68 20 69 6e 20 63 68 61 72 61 63 74 65 72 73 22 29 0a 20 20 20 20 20 20 20 20 20 | .width.in.characters").......... |
1440 | 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 20 20 3a 74 61 67 20 22 55 73 65 20 74 68 65 20 77 | ........(const...:tag."Use.the.w |
1460 | 69 64 74 68 20 6f 66 20 74 68 65 20 77 69 6e 64 6f 77 22 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 | idth.of.the.window".nil)........ |
1480 | 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 20 20 3a 74 61 67 20 22 44 69 73 61 62 6c 65 | ..........(const...:tag."Disable |
14a0 | 20 66 69 6c 6c 69 6e 67 22 20 74 29 29 0a 20 20 3a 67 72 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 64 | .filling".t))...:group.'nov)..(d |
14c0 | 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 72 65 6e 64 65 72 2d 68 74 6d 6c 2d 66 75 6e 63 74 69 6f | efcustom.nov-render-html-functio |
14e0 | 6e 20 27 6e 6f 76 2d 72 65 6e 64 65 72 2d 68 74 6d 6c 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 75 | n.'nov-render-html..."Function.u |
1500 | 73 65 64 20 74 6f 20 72 65 6e 64 65 72 20 48 54 4d 4c 2e 0a 49 74 27 73 20 63 61 6c 6c 65 64 20 | sed.to.render.HTML..It's.called. |
1520 | 77 69 74 68 6f 75 74 20 61 72 67 75 6d 65 6e 74 73 20 77 69 74 68 20 61 20 62 75 66 66 65 72 20 | without.arguments.with.a.buffer. |
1540 | 63 6f 6e 74 61 69 6e 69 6e 67 20 48 54 4d 4c 20 61 6e 64 0a 73 68 6f 75 6c 64 20 63 68 61 6e 67 | containing.HTML.and.should.chang |
1560 | 65 20 69 74 20 74 6f 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 72 65 6e 64 65 72 65 64 20 76 65 72 | e.it.to.contain.the.rendered.ver |
1580 | 73 69 6f 6e 20 6f 66 20 69 74 2e 22 0a 20 20 3a 74 79 70 65 20 27 66 75 6e 63 74 69 6f 6e 0a 20 | sion.of.it."...:type.'function.. |
15a0 | 20 3a 67 72 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 70 72 | .:group.'nov)..(defcustom.nov-pr |
15c0 | 65 2d 68 74 6d 6c 2d 72 65 6e 64 65 72 2d 68 6f 6f 6b 20 6e 69 6c 0a 20 20 22 48 6f 6f 6b 20 72 | e-html-render-hook.nil..."Hook.r |
15e0 | 75 6e 20 62 65 66 6f 72 65 20 60 6e 6f 76 2d 72 65 6e 64 65 72 2d 68 74 6d 6c 27 2e 22 0a 20 20 | un.before.`nov-render-html'."... |
1600 | 3a 74 79 70 65 20 27 68 6f 6f 6b 0a 20 20 3a 67 72 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 64 65 66 | :type.'hook...:group.'nov)..(def |
1620 | 63 75 73 74 6f 6d 20 6e 6f 76 2d 70 6f 73 74 2d 68 74 6d 6c 2d 72 65 6e 64 65 72 2d 68 6f 6f 6b | custom.nov-post-html-render-hook |
1640 | 20 6e 69 6c 0a 20 20 22 48 6f 6f 6b 20 72 75 6e 20 61 66 74 65 72 20 60 6e 6f 76 2d 72 65 6e 64 | .nil..."Hook.run.after.`nov-rend |
1660 | 65 72 2d 68 74 6d 6c 27 2e 22 0a 20 20 3a 74 79 70 65 20 27 68 6f 6f 6b 0a 20 20 3a 67 72 6f 75 | er-html'."...:type.'hook...:grou |
1680 | 70 20 27 6e 6f 76 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 | p.'nov)..(defcustom.nov-save-pla |
16a0 | 63 65 2d 66 69 6c 65 20 28 6c 6f 63 61 74 65 2d 75 73 65 72 2d 65 6d 61 63 73 2d 66 69 6c 65 20 | ce-file.(locate-user-emacs-file. |
16c0 | 22 6e 6f 76 2d 70 6c 61 63 65 73 22 29 0a 20 20 22 46 69 6c 65 20 6e 61 6d 65 20 77 68 65 72 65 | "nov-places")..."File.name.where |
16e0 | 20 6c 61 73 74 20 72 65 61 64 69 6e 67 20 70 6c 61 63 65 73 20 61 72 65 20 73 61 76 65 64 20 74 | .last.reading.places.are.saved.t |
1700 | 6f 20 61 6e 64 20 72 65 73 74 6f 72 65 64 20 66 72 6f 6d 2e 0a 49 66 20 73 65 74 20 74 6f 20 60 | o.and.restored.from..If.set.to.` |
1720 | 6e 69 6c 27 2c 20 6e 6f 20 73 61 76 69 6e 67 20 61 6e 64 20 72 65 73 74 6f 72 69 6e 67 20 69 73 | nil',.no.saving.and.restoring.is |
1740 | 20 70 65 72 66 6f 72 6d 65 64 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 66 | .performed."...:type.'(choice.(f |
1760 | 69 6c 65 20 20 3a 74 61 67 20 22 46 69 6c 65 20 6e 61 6d 65 22 29 0a 20 20 20 20 20 20 20 20 20 | ile..:tag."File.name").......... |
1780 | 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 44 6f 6e 27 74 20 73 61 76 65 20 | ........(const.:tag."Don't.save. |
17a0 | 6c 61 73 74 20 72 65 61 64 69 6e 67 20 70 6c 61 63 65 73 22 20 6e 69 6c 29 29 0a 20 20 3a 67 72 | last.reading.places".nil))...:gr |
17c0 | 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 6e 6f 76 2d 68 65 61 64 65 72 | oup.'nov)..(defcustom.nov-header |
17e0 | 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 20 22 25 74 3a 20 25 63 22 0a 20 20 22 48 65 61 64 65 72 20 | -line-format."%t:.%c"..."Header. |
1800 | 6c 69 6e 65 20 66 6f 72 6d 61 74 2e 0a 2d 20 25 74 20 69 73 20 72 65 70 6c 61 63 65 64 20 62 79 | line.format..-.%t.is.replaced.by |
1820 | 20 74 68 65 20 74 69 74 6c 65 2e 0a 2d 20 25 63 20 69 73 20 72 65 70 6c 61 63 65 64 20 62 79 20 | .the.title..-.%c.is.replaced.by. |
1840 | 74 68 65 20 63 68 61 70 74 65 72 20 74 69 74 6c 65 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 | the.chapter.title."...:type.'str |
1860 | 69 6e 67 0a 20 20 3a 67 72 6f 75 70 20 27 6e 6f 76 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 | ing...:group.'nov)..(defvar-loca |
1880 | 6c 20 6e 6f 76 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 69 6c 0a 20 20 22 50 61 74 68 20 74 6f 20 74 | l.nov-file-name.nil..."Path.to.t |
18a0 | 68 65 20 45 50 55 42 20 66 69 6c 65 20 62 61 63 6b 69 6e 67 20 74 68 69 73 20 62 75 66 66 65 72 | he.EPUB.file.backing.this.buffer |
18c0 | 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 69 6e 69 74 69 61 6c 69 7a | .")..(defvar-local.nov-initializ |
18e0 | 65 2d 77 6f 72 6b 2d 64 69 72 2d 70 20 74 0a 20 20 22 53 65 74 20 74 6f 20 6e 69 6c 20 69 66 20 | e-work-dir-p.t..."Set.to.nil.if. |
1900 | 6e 6f 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 73 68 6f 75 6c 64 20 62 65 20 69 | no.working.directory.should.be.i |
1920 | 6e 69 74 69 61 6c 69 7a 65 64 2e 22 29 0a 28 70 75 74 20 27 6e 6f 76 2d 69 6e 69 74 69 61 6c 69 | nitialized.").(put.'nov-initiali |
1940 | 7a 65 2d 77 6f 72 6b 2d 64 69 72 2d 70 20 27 70 65 72 6d 61 6e 65 6e 74 2d 6c 6f 63 61 6c 20 74 | ze-work-dir-p.'permanent-local.t |
1960 | 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 72 65 6d 6f 76 65 2d 77 6f 72 6b | )..(defvar-local.nov-remove-work |
1980 | 2d 64 69 72 2d 6f 6e 2d 65 78 69 74 2d 70 20 74 0a 20 20 22 53 65 74 20 74 6f 20 6e 69 6c 20 69 | -dir-on-exit-p.t..."Set.to.nil.i |
19a0 | 66 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 73 68 6f 75 6c 64 20 62 65 20 70 72 | f.working.directory.should.be.pr |
19c0 | 65 73 65 72 76 65 64 20 61 66 74 65 72 20 65 78 69 74 2e 22 29 0a 28 70 75 74 20 27 6e 6f 76 2d | eserved.after.exit.").(put.'nov- |
19e0 | 72 65 6d 6f 76 65 2d 77 6f 72 6b 2d 64 69 72 2d 6f 6e 2d 65 78 69 74 2d 70 20 27 70 65 72 6d 61 | remove-work-dir-on-exit-p.'perma |
1a00 | 6e 65 6e 74 2d 6c 6f 63 61 6c 20 74 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 | nent-local.t)..(defvar-local.nov |
1a20 | 2d 77 6f 72 6b 2d 64 69 72 20 6e 69 6c 0a 20 20 22 44 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 | -work-dir.nil..."Directory.conta |
1a40 | 69 6e 69 6e 67 20 74 68 65 20 62 75 66 66 65 72 27 73 20 45 50 55 42 20 66 69 6c 65 73 2e 22 29 | ining.the.buffer's.EPUB.files.") |
1a60 | 0a 28 70 75 74 20 27 6e 6f 76 2d 77 6f 72 6b 2d 64 69 72 20 27 70 65 72 6d 61 6e 65 6e 74 2d 6c | .(put.'nov-work-dir.'permanent-l |
1a80 | 6f 63 61 6c 20 74 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 63 6f 6e 74 65 | ocal.t)..(defvar-local.nov-conte |
1aa0 | 6e 74 2d 66 69 6c 65 20 6e 69 6c 0a 20 20 22 50 61 74 68 20 74 6f 20 74 68 65 20 45 50 55 42 20 | nt-file.nil..."Path.to.the.EPUB. |
1ac0 | 62 75 66 66 65 72 27 73 20 2e 6f 70 66 20 66 69 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c | buffer's..opf.file.")..(defvar-l |
1ae0 | 6f 63 61 6c 20 6e 6f 76 2d 65 70 75 62 2d 76 65 72 73 69 6f 6e 20 6e 69 6c 0a 20 20 22 56 65 72 | ocal.nov-epub-version.nil..."Ver |
1b00 | 73 69 6f 6e 20 73 74 72 69 6e 67 20 6f 66 20 74 68 65 20 45 50 55 42 20 62 75 66 66 65 72 2e 22 | sion.string.of.the.EPUB.buffer." |
1b20 | 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 6d 65 74 61 64 61 74 61 20 6e 69 | )..(defvar-local.nov-metadata.ni |
1b40 | 6c 0a 20 20 22 4d 65 74 61 64 61 74 61 20 6f 66 20 74 68 65 20 45 50 55 42 20 62 75 66 66 65 72 | l..."Metadata.of.the.EPUB.buffer |
1b60 | 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 | .")..(defvar-local.nov-documents |
1b80 | 20 6e 69 6c 0a 20 20 22 41 6c 69 73 74 20 66 6f 72 20 74 68 65 20 45 50 55 42 20 62 75 66 66 65 | .nil..."Alist.for.the.EPUB.buffe |
1ba0 | 72 27 73 20 64 6f 63 75 6d 65 6e 74 73 2e 0a 45 61 63 68 20 61 6c 69 73 74 20 69 74 65 6d 20 63 | r's.documents..Each.alist.item.c |
1bc0 | 6f 6e 73 69 73 74 73 20 6f 66 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 61 6e 64 20 66 75 | onsists.of.the.identifier.and.fu |
1be0 | 6c 6c 20 70 61 74 68 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 64 6f | ll.path.")..(defvar-local.nov-do |
1c00 | 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 30 0a 20 20 22 49 6e 64 65 78 20 6f 66 20 74 68 65 20 | cuments-index.0..."Index.of.the. |
1c20 | 63 75 72 72 65 6e 74 6c 79 20 72 65 6e 64 65 72 65 64 20 64 6f 63 75 6d 65 6e 74 20 69 6e 20 74 | currently.rendered.document.in.t |
1c40 | 68 65 20 45 50 55 42 20 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c | he.EPUB.buffer.")..(defvar-local |
1c60 | 20 6e 6f 76 2d 74 6f 63 2d 69 64 20 6e 69 6c 0a 20 20 22 54 4f 43 20 69 64 65 6e 74 69 66 69 65 | .nov-toc-id.nil..."TOC.identifie |
1c80 | 72 20 6f 66 20 74 68 65 20 45 50 55 42 20 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 | r.of.the.EPUB.buffer.")..(defvar |
1ca0 | 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 68 69 73 74 6f 72 79 20 6e 69 6c 0a 20 20 22 53 74 61 63 6b 20 | -local.nov-history.nil..."Stack. |
1cc0 | 6f 66 20 64 6f 63 75 6d 65 6e 74 73 20 75 73 65 72 20 68 61 73 20 76 69 73 69 74 65 64 2e 0a 45 | of.documents.user.has.visited..E |
1ce0 | 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 73 74 61 63 6b 20 69 73 20 61 20 6c 69 | ach.element.of.the.stack.is.a.li |
1d00 | 73 74 20 28 4e 4f 44 45 49 4e 44 45 58 20 42 55 46 46 45 52 50 4f 53 29 2e 22 29 0a 0a 28 64 65 | st.(NODEINDEX.BUFFERPOS).")..(de |
1d20 | 66 76 61 72 2d 6c 6f 63 61 6c 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 6e | fvar-local.nov-history-forward.n |
1d40 | 69 6c 0a 20 20 22 53 74 61 63 6b 20 6f 66 20 64 6f 63 75 6d 65 6e 74 73 20 75 73 65 72 20 68 61 | il..."Stack.of.documents.user.ha |
1d60 | 73 20 76 69 73 69 74 65 64 20 77 69 74 68 20 60 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 62 61 63 6b | s.visited.with.`nov-history-back |
1d80 | 27 20 63 6f 6d 6d 61 6e 64 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 73 | '.command..Each.element.of.the.s |
1da0 | 74 61 63 6b 20 69 73 20 61 20 6c 69 73 74 20 28 4e 4f 44 45 49 4e 44 45 58 20 42 55 46 46 45 52 | tack.is.a.list.(NODEINDEX.BUFFER |
1dc0 | 50 4f 53 29 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 20 28 64 | POS).")..(defun.nov-make-path.(d |
1de0 | 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 70 61 74 68 20 | irectory.file)..."Create.a.path. |
1e00 | 66 72 6f 6d 20 44 49 52 45 43 54 4f 52 59 20 61 6e 64 20 46 49 4c 45 2e 22 0a 20 20 28 63 6f 6e | from.DIRECTORY.and.FILE."...(con |
1e20 | 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 65 | cat.(file-name-as-directory.dire |
1e40 | 63 74 6f 72 79 29 20 66 69 6c 65 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 64 69 72 65 63 74 | ctory).file))..(defun.nov-direct |
1e60 | 6f 72 79 2d 66 69 6c 65 73 20 28 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 52 65 74 75 72 6e 73 | ory-files.(directory)..."Returns |
1e80 | 20 61 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 20 69 6e 20 44 49 52 45 43 54 4f 52 59 20 65 78 | .a.list.of.files.in.DIRECTORY.ex |
1ea0 | 63 65 70 74 20 66 6f 72 20 2e 20 61 6e 64 20 2e 2e 22 0a 20 20 28 73 65 71 2d 72 65 6d 6f 76 65 | cept.for...and..."...(seq-remove |
1ec0 | 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 | .(lambda.(file).(string-match-p. |
1ee0 | 22 2f 5c 5c 2e 5c 5c 28 3f 3a 5c 5c 2e 5c 5c 29 3f 5c 5c 27 22 20 66 69 6c 65 29 29 0a 20 20 20 | "/\\.\\(?:\\.\\)?\\'".file)).... |
1f00 | 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 69 72 65 | ...........(directory-files.dire |
1f20 | 63 74 6f 72 79 20 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 61 69 6e 73 2d | ctory.t)))..(defun.nov-contains- |
1f40 | 6e 65 73 74 65 64 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 28 64 69 72 65 63 74 6f 72 79 29 0a 20 | nested-directory-p.(directory).. |
1f60 | 20 22 4e 6f 6e 2d 6e 69 6c 20 69 66 20 44 49 52 45 43 54 4f 52 59 20 63 6f 6e 74 61 69 6e 73 20 | ."Non-nil.if.DIRECTORY.contains. |
1f80 | 65 78 61 63 74 6c 79 20 6f 6e 65 20 64 69 72 65 63 74 6f 72 79 2e 22 0a 20 20 28 6c 65 74 2a 20 | exactly.one.directory."...(let*. |
1fa0 | 28 28 66 69 6c 65 73 20 28 6e 6f 76 2d 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 69 72 | ((files.(nov-directory-files.dir |
1fc0 | 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 63 61 72 20 66 69 6c | ectory))..........(file.(car.fil |
1fe0 | 65 73 29 29 29 0a 20 20 20 20 28 61 6e 64 20 28 3d 20 28 6c 65 6e 67 74 68 20 66 69 6c 65 73 29 | es))).....(and.(=.(length.files) |
2000 | 20 31 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 66 | .1)..........(file-directory-p.f |
2020 | 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f | ile)..........file)))..(defun.no |
2040 | 76 2d 75 6e 6e 65 73 74 2d 64 69 72 65 63 74 6f 72 79 20 28 64 69 72 65 63 74 6f 72 79 20 63 68 | v-unnest-directory.(directory.ch |
2060 | 69 6c 64 29 0a 20 20 22 4d 6f 76 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 43 48 49 4c 44 20 69 | ild)..."Move.contents.of.CHILD.i |
2080 | 6e 74 6f 20 44 49 52 45 43 54 4f 52 59 2c 20 74 68 65 6e 20 64 65 6c 65 74 65 20 43 48 49 4c 44 | nto.DIRECTORY,.then.delete.CHILD |
20a0 | 2e 22 0a 20 20 3b 3b 20 46 49 58 4d 45 3a 20 74 68 69 73 20 77 69 6c 6c 20 6d 6f 73 74 20 63 65 | ."...;;.FIXME:.this.will.most.ce |
20c0 | 72 74 61 69 6e 6c 79 20 66 61 69 6c 20 66 6f 72 20 63 6f 6e 2f 63 6f 6e 0a 20 20 28 64 6f 6c 69 | rtainly.fail.for.con/con...(doli |
20e0 | 73 74 20 28 69 74 65 6d 20 28 6e 6f 76 2d 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 63 68 | st.(item.(nov-directory-files.ch |
2100 | 69 6c 64 29 29 0a 20 20 20 20 28 72 65 6e 61 6d 65 2d 66 69 6c 65 20 69 74 65 6d 20 64 69 72 65 | ild)).....(rename-file.item.dire |
2120 | 63 74 6f 72 79 29 29 0a 20 20 28 64 65 6c 65 74 65 2d 64 69 72 65 63 74 6f 72 79 20 63 68 69 6c | ctory))...(delete-directory.chil |
2140 | 64 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 2d 66 69 78 2d 70 65 72 6d 69 73 73 69 6f 6e 73 | d))..(defun.nov--fix-permissions |
2160 | 20 28 66 69 6c 65 2d 6f 72 2d 64 69 72 65 63 74 6f 72 79 20 6d 6f 64 65 29 0a 20 20 28 6c 65 74 | .(file-or-directory.mode)...(let |
2180 | 2a 20 28 28 6d 6f 64 65 73 20 28 66 69 6c 65 2d 6d 6f 64 65 73 20 66 69 6c 65 2d 6f 72 2d 64 69 | *.((modes.(file-modes.file-or-di |
21a0 | 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 78 65 64 2d 6d 6f 64 65 20 28 | rectory))..........(fixed-mode.( |
21c0 | 66 69 6c 65 2d 6d 6f 64 65 73 2d 73 79 6d 62 6f 6c 69 63 2d 74 6f 2d 6e 75 6d 62 65 72 20 6d 6f | file-modes-symbolic-to-number.mo |
21e0 | 64 65 20 6d 6f 64 65 73 29 29 29 0a 20 20 20 20 28 73 65 74 2d 66 69 6c 65 2d 6d 6f 64 65 73 20 | de.modes))).....(set-file-modes. |
2200 | 66 69 6c 65 2d 6f 72 2d 64 69 72 65 63 74 6f 72 79 20 66 69 78 65 64 2d 6d 6f 64 65 29 29 29 0a | file-or-directory.fixed-mode))). |
2220 | 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 66 69 78 2d 70 65 72 6d 69 73 73 69 6f 6e 73 20 28 64 69 72 | .(defun.nov-fix-permissions.(dir |
2240 | 65 63 74 6f 72 79 29 0a 20 20 22 49 74 65 72 61 74 65 20 72 65 63 75 72 73 69 76 65 6c 79 20 74 | ectory)..."Iterate.recursively.t |
2260 | 68 72 6f 75 67 68 20 44 49 52 45 43 54 4f 52 59 20 74 6f 20 66 69 78 20 69 74 73 20 66 69 6c 65 | hrough.DIRECTORY.to.fix.its.file |
2280 | 73 2e 22 0a 20 20 28 6e 6f 76 2d 2d 66 69 78 2d 70 65 72 6d 69 73 73 69 6f 6e 73 20 64 69 72 65 | s."...(nov--fix-permissions.dire |
22a0 | 63 74 6f 72 79 20 22 2b 72 78 22 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 66 69 6c 65 20 28 6e 6f | ctory."+rx")...(dolist.(file.(no |
22c0 | 76 2d 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 | v-directory-files.directory))... |
22e0 | 20 20 28 69 66 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 66 69 6c 65 29 0a 20 20 | ..(if.(file-directory-p.file)... |
2300 | 20 20 20 20 20 20 28 6e 6f 76 2d 66 69 78 2d 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 69 6c 65 29 | ......(nov-fix-permissions.file) |
2320 | 0a 20 20 20 20 20 20 28 6e 6f 76 2d 2d 66 69 78 2d 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 69 6c | .......(nov--fix-permissions.fil |
2340 | 65 20 22 2b 72 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 75 6e 7a 69 70 2d 65 70 75 | e."+r"))))..(defun.nov-unzip-epu |
2360 | 62 20 28 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d 65 29 0a 20 20 22 45 78 74 72 61 63 | b.(directory.filename)..."Extrac |
2380 | 74 20 46 49 4c 45 4e 41 4d 45 20 69 6e 74 6f 20 44 49 52 45 43 54 4f 52 59 2e 0a 55 6e 6e 65 63 | t.FILENAME.into.DIRECTORY..Unnec |
23a0 | 65 73 73 61 72 79 20 6e 65 73 74 69 6e 67 20 69 73 20 72 65 6d 6f 76 65 64 20 77 69 74 68 20 60 | essary.nesting.is.removed.with.` |
23c0 | 6e 6f 76 2d 75 6e 6e 65 73 74 2d 64 69 72 65 63 74 6f 72 79 27 2e 22 0a 20 20 28 6c 65 74 2a 20 | nov-unnest-directory'."...(let*. |
23e0 | 28 28 73 74 61 74 75 73 20 28 61 70 70 6c 79 20 23 27 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 6e | ((status.(apply.#'call-process.n |
2400 | 6f 76 2d 75 6e 7a 69 70 2d 70 72 6f 67 72 61 6d 20 6e 69 6c 20 22 2a 6e 6f 76 20 75 6e 7a 69 70 | ov-unzip-program.nil."*nov.unzip |
2420 | 2a 22 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 | *".t.........................(ma |
2440 | 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 61 72 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | pcar.(lambda.(arg).............. |
2460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 | .....................(cond...... |
2480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 | ..............................(( |
24a0 | 65 71 20 61 72 67 20 27 64 69 72 65 63 74 6f 72 79 29 20 64 69 72 65 63 74 6f 72 79 29 0a 20 20 | eq.arg.'directory).directory)... |
24c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
24e0 | 20 28 28 65 71 20 61 72 67 20 27 66 69 6c 65 6e 61 6d 65 29 20 66 69 6c 65 6e 61 6d 65 29 0a 20 | .((eq.arg.'filename).filename).. |
2500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
2520 | 20 20 28 74 20 61 72 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..(t.arg)))..................... |
2540 | 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 76 2d 75 6e 7a 69 70 2d 61 72 67 73 29 29 29 0a 20 20 | ............nov-unzip-args)))... |
2560 | 20 20 20 20 20 20 20 63 68 69 6c 64 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 73 65 74 71 20 63 | .......child).....(while.(setq.c |
2580 | 68 69 6c 64 20 28 6e 6f 76 2d 63 6f 6e 74 61 69 6e 73 2d 6e 65 73 74 65 64 2d 64 69 72 65 63 74 | hild.(nov-contains-nested-direct |
25a0 | 6f 72 79 2d 70 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 75 6e 6e | ory-p.directory)).......(nov-unn |
25c0 | 65 73 74 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 65 63 74 6f 72 79 20 63 68 69 6c 64 29 29 0a | est-directory.directory.child)). |
25e0 | 20 20 20 20 3b 3b 20 48 41 43 4b 3a 20 75 6e 7a 69 70 20 70 72 65 73 65 72 76 65 73 20 66 69 6c | ....;;.HACK:.unzip.preserves.fil |
2600 | 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 6e 6f 20 6d 61 74 74 65 72 20 68 6f 77 20 73 69 6c | e.permissions,.no.matter.how.sil |
2620 | 6c 79 20 74 68 65 79 0a 20 20 20 20 3b 3b 20 61 72 65 2c 20 73 6f 20 65 6e 73 75 72 65 20 66 69 | ly.they.....;;.are,.so.ensure.fi |
2640 | 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 61 72 65 20 72 65 61 64 61 62 6c 65 | les.and.directories.are.readable |
2660 | 0a 20 20 20 20 28 6e 6f 76 2d 66 69 78 2d 70 65 72 6d 69 73 73 69 6f 6e 73 20 64 69 72 65 63 74 | .....(nov-fix-permissions.direct |
2680 | 6f 72 79 29 0a 20 20 20 20 73 74 61 74 75 73 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 77 61 | ory).....status))..(defun.nov-wa |
26a0 | 72 6e 20 28 6d 65 73 73 61 67 65 20 26 6f 70 74 69 6f 6e 61 6c 20 6c 65 76 65 6c 29 0a 20 20 22 | rn.(message.&optional.level)..." |
26c0 | 4c 69 6b 65 20 60 64 69 73 70 6c 61 79 2d 77 61 72 6e 69 6e 67 27 2c 20 62 75 74 20 66 6f 72 20 | Like.`display-warning',.but.for. |
26e0 | 6e 6f 76 2d 73 70 65 63 69 66 69 63 20 77 61 72 6e 69 6e 67 73 2e 0a 44 69 73 70 6c 61 79 73 20 | nov-specific.warnings..Displays. |
2700 | 4d 45 53 53 41 47 45 20 69 6e 20 61 20 77 61 72 6e 69 6e 67 73 20 62 75 66 66 65 72 2c 20 77 69 | MESSAGE.in.a.warnings.buffer,.wi |
2720 | 74 68 20 4c 45 56 45 4c 20 61 73 20 73 65 76 65 72 69 74 79 2e 22 0a 20 20 28 64 69 73 70 6c 61 | th.LEVEL.as.severity."...(displa |
2740 | 79 2d 77 61 72 6e 69 6e 67 20 27 6e 6f 76 20 6d 65 73 73 61 67 65 20 6c 65 76 65 6c 29 29 0a 0a | y-warning.'nov.message.level)).. |
2760 | 28 64 65 66 6d 61 63 72 6f 20 6e 6f 76 2d 69 67 6e 6f 72 65 2d 66 69 6c 65 2d 65 72 72 6f 72 73 | (defmacro.nov-ignore-file-errors |
2780 | 20 28 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 4c 69 6b 65 20 60 69 67 6e 6f 72 65 2d 65 72 | .(&rest.body)..."Like.`ignore-er |
27a0 | 72 6f 72 73 27 2c 20 62 75 74 20 66 6f 72 20 66 69 6c 65 20 65 72 72 6f 72 73 2e 22 0a 20 20 60 | rors',.but.for.file.errors."...` |
27c0 | 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 20 28 70 72 6f 67 6e 20 2c 40 62 6f 64 | (condition-case.nil.(progn.,@bod |
27e0 | 79 29 20 28 66 69 6c 65 2d 65 72 72 6f 72 20 6e 69 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f | y).(file-error.nil)))..(defun.no |
2800 | 76 2d 73 6c 75 72 70 20 28 66 69 6c 65 6e 61 6d 65 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 72 73 | v-slurp.(filename.&optional.pars |
2820 | 65 2d 78 6d 6c 2d 70 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 | e-xml-p)..."Return.the.contents. |
2840 | 6f 66 20 46 49 4c 45 4e 41 4d 45 2e 0a 49 66 20 50 41 52 53 45 2d 58 4d 4c 2d 50 20 69 73 20 74 | of.FILENAME..If.PARSE-XML-P.is.t |
2860 | 2c 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 61 73 20 70 61 72 73 65 64 20 | ,.return.the.contents.as.parsed. |
2880 | 62 79 20 6c 69 62 78 6d 6c 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a | by.libxml."...(with-temp-buffer. |
28a0 | 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 66 69 6c 65 6e 61 | ....(insert-file-contents.filena |
28c0 | 6d 65 29 0a 20 20 20 20 28 69 66 20 70 61 72 73 65 2d 78 6d 6c 2d 70 0a 20 20 20 20 20 20 20 20 | me).....(if.parse-xml-p......... |
28e0 | 28 6c 69 62 78 6d 6c 2d 70 61 72 73 65 2d 78 6d 6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d | (libxml-parse-xml-region.(point- |
2900 | 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28 62 75 66 66 65 72 2d | min).(point-max)).......(buffer- |
2920 | 73 74 72 69 6e 67 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6d 69 6d 65 74 79 70 65 2d | string))))..(defun.nov-mimetype- |
2940 | 76 61 6c 69 64 2d 70 20 28 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 | valid-p.(directory)..."Return.t. |
2960 | 69 66 20 44 49 52 45 43 54 4f 52 59 20 63 6f 6e 74 61 69 6e 73 20 61 20 76 61 6c 69 64 20 45 50 | if.DIRECTORY.contains.a.valid.EP |
2980 | 55 42 20 6d 69 6d 65 74 79 70 65 20 66 69 6c 65 2e 22 0a 20 20 28 6e 6f 76 2d 69 67 6e 6f 72 65 | UB.mimetype.file."...(nov-ignore |
29a0 | 2d 66 69 6c 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 28 6c 65 74 20 28 28 66 69 6c 65 6e 61 6d 65 | -file-errors.....(let.((filename |
29c0 | 20 28 6e 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 20 64 69 72 65 63 74 6f 72 79 20 22 6d 69 6d 65 74 | .(nov-make-path.directory."mimet |
29e0 | 79 70 65 22 29 29 29 0a 20 20 20 20 20 20 28 65 71 75 61 6c 20 28 6e 6f 76 2d 73 6c 75 72 70 20 | ype"))).......(equal.(nov-slurp. |
2a00 | 66 69 6c 65 6e 61 6d 65 29 20 22 61 70 70 6c 69 63 61 74 69 6f 6e 2f 65 70 75 62 2b 7a 69 70 22 | filename)."application/epub+zip" |
2a20 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 72 2d 66 69 6c 65 6e | ))))..(defun.nov-container-filen |
2a40 | 61 6d 65 20 28 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 6f | ame.(directory)..."Return.the.co |
2a60 | 6e 74 61 69 6e 65 72 20 66 69 6c 65 6e 61 6d 65 20 66 6f 72 20 44 49 52 45 43 54 4f 52 59 2e 22 | ntainer.filename.for.DIRECTORY." |
2a80 | 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 6e 61 6d 65 20 28 6e 6f 76 2d 6d 61 6b 65 2d 70 61 74 | ...(let.((filename.(nov-make-pat |
2aa0 | 68 20 64 69 72 65 63 74 6f 72 79 20 22 4d 45 54 41 2d 49 4e 46 22 29 29 29 0a 20 20 20 20 28 6e | h.directory."META-INF"))).....(n |
2ac0 | 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 20 66 69 6c 65 6e 61 6d 65 20 22 63 6f 6e 74 61 69 6e 65 72 | ov-make-path.filename."container |
2ae0 | 2e 78 6d 6c 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 72 2d 63 | .xml")))..(defun.nov-container-c |
2b00 | 6f 6e 74 65 6e 74 2d 66 69 6c 65 6e 61 6d 65 20 28 63 6f 6e 74 65 6e 74 29 0a 20 20 22 52 65 74 | ontent-filename.(content)..."Ret |
2b20 | 75 72 6e 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 66 69 6c 65 6e 61 6d 65 20 66 6f 72 20 43 4f 4e | urn.the.content.filename.for.CON |
2b40 | 54 45 4e 54 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 71 75 65 72 79 20 22 63 6f 6e 74 61 69 6e 65 | TENT."...(let*.((query."containe |
2b60 | 72 3e 72 6f 6f 74 66 69 6c 65 73 3e 72 6f 6f 74 66 69 6c 65 5b 6d 65 64 69 61 2d 74 79 70 65 3d | r>rootfiles>rootfile[media-type= |
2b80 | 27 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6f 65 62 70 73 2d 70 61 63 6b 61 67 65 2b 78 6d 6c 27 5d | 'application/oebps-package+xml'] |
2ba0 | 22 29 0a 20 20 20 20 20 20 20 20 20 28 6e 6f 64 65 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 71 | ")..........(node.(esxml-query.q |
2bc0 | 75 65 72 79 20 63 6f 6e 74 65 6e 74 29 29 29 0a 20 20 20 20 28 64 6f 6d 2d 61 74 74 72 20 6e 6f | uery.content))).....(dom-attr.no |
2be0 | 64 65 20 27 66 75 6c 6c 2d 70 61 74 68 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e | de.'full-path)))..(defun.nov-con |
2c00 | 74 61 69 6e 65 72 2d 76 61 6c 69 64 2d 70 20 28 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 52 65 | tainer-valid-p.(directory)..."Re |
2c20 | 74 75 72 6e 20 74 20 69 66 20 44 49 52 45 43 54 4f 52 59 20 68 6f 6c 64 73 20 61 20 76 61 6c 69 | turn.t.if.DIRECTORY.holds.a.vali |
2c40 | 64 20 45 50 55 42 20 63 6f 6e 74 61 69 6e 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 | d.EPUB.container."...(let.((file |
2c60 | 6e 61 6d 65 20 28 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 72 2d 66 69 6c 65 6e 61 6d 65 20 64 69 72 | name.(nov-container-filename.dir |
2c80 | 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 66 69 6c 65 6e 61 6d | ectory))).....(when.(and.filenam |
2ca0 | 65 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 | e.(file-exists-p.filename))..... |
2cc0 | 20 20 28 6c 65 74 2a 20 28 28 63 6f 6e 74 65 6e 74 20 28 6e 6f 76 2d 73 6c 75 72 70 20 66 69 6c | ..(let*.((content.(nov-slurp.fil |
2ce0 | 65 6e 61 6d 65 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 74 65 6e 74 2d | ename.t))..............(content- |
2d00 | 66 69 6c 65 20 28 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 72 2d 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 | file.(nov-container-content-file |
2d20 | 6e 61 6d 65 20 63 6f 6e 74 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 | name.content))).........(when.(a |
2d40 | 6e 64 20 63 6f 6e 74 65 6e 74 20 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 | nd.content.content-file)........ |
2d60 | 20 20 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 6e 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 | ...(file-exists-p.(nov-make-path |
2d80 | 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 29 29 29 29 29 29 29 0a 0a | .directory.content-file))))))).. |
2da0 | 28 64 65 66 75 6e 20 6e 6f 76 2d 65 70 75 62 2d 76 61 6c 69 64 2d 70 20 28 64 69 72 65 63 74 6f | (defun.nov-epub-valid-p.(directo |
2dc0 | 72 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 44 49 52 45 43 54 4f 52 59 20 6d 61 6b | ry)..."Return.t.if.DIRECTORY.mak |
2de0 | 65 73 20 75 70 20 61 20 76 61 6c 69 64 20 45 50 55 42 20 64 6f 63 75 6d 65 6e 74 2e 22 0a 20 20 | es.up.a.valid.EPUB.document."... |
2e00 | 28 77 68 65 6e 20 28 6e 6f 74 20 28 6e 6f 76 2d 6d 69 6d 65 74 79 70 65 2d 76 61 6c 69 64 2d 70 | (when.(not.(nov-mimetype-valid-p |
2e20 | 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 49 6e 76 61 6c | .directory)).....(message."Inval |
2e40 | 69 64 20 6d 69 6d 65 74 79 70 65 22 29 29 0a 20 20 28 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 72 2d | id.mimetype"))...(nov-container- |
2e60 | 76 61 6c 69 64 2d 70 20 64 69 72 65 63 74 6f 72 79 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d | valid-p.directory))..(defun.nov- |
2e80 | 75 72 6c 64 65 63 6f 64 65 20 28 73 74 72 69 6e 67 29 0a 20 20 22 52 65 74 75 72 6e 20 75 72 6c | urldecode.(string)..."Return.url |
2ea0 | 64 65 63 6f 64 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 53 54 52 49 4e 47 20 6f 72 20 6e 69 6c | decoded.version.of.STRING.or.nil |
2ec0 | 2e 22 0a 20 20 28 77 68 65 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 28 75 72 6c 2d 75 6e 68 65 78 | ."...(when.string.....(url-unhex |
2ee0 | 2d 73 74 72 69 6e 67 20 73 74 72 69 6e 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f | -string.string)))..(defun.nov-co |
2f00 | 6e 74 65 6e 74 2d 76 65 72 73 69 6f 6e 20 28 63 6f 6e 74 65 6e 74 29 0a 20 20 22 52 65 74 75 72 | ntent-version.(content)..."Retur |
2f20 | 6e 20 74 68 65 20 45 50 55 42 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 43 4f 4e 54 45 4e 54 2e 22 | n.the.EPUB.version.for.CONTENT." |
2f40 | 0a 20 20 28 6c 65 74 2a 20 28 28 6e 6f 64 65 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 70 61 | ...(let*.((node.(esxml-query."pa |
2f60 | 63 6b 61 67 65 22 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 76 65 72 73 69 | ckage".content))..........(versi |
2f80 | 6f 6e 20 28 64 6f 6d 2d 61 74 74 72 20 6e 6f 64 65 20 27 76 65 72 73 69 6f 6e 29 29 29 0a 20 20 | on.(dom-attr.node.'version)))... |
2fa0 | 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 28 65 72 72 | ..(when.(not.version).......(err |
2fc0 | 6f 72 20 22 56 65 72 73 69 6f 6e 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 22 29 29 0a 20 20 20 | or."Version.not.specified")).... |
2fe0 | 20 76 65 72 73 69 6f 6e 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 75 | .version))..(defun.nov-content-u |
3000 | 6e 69 71 75 65 2d 69 64 65 6e 74 69 66 69 65 72 2d 6e 61 6d 65 20 28 63 6f 6e 74 65 6e 74 29 0a | nique-identifier-name.(content). |
3020 | 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 75 6e 69 71 75 65 20 69 64 65 6e 74 69 66 69 65 72 20 | .."Return.the.unique.identifier. |
3040 | 6e 61 6d 65 20 72 65 66 65 72 65 6e 63 65 64 20 69 6e 20 43 4f 4e 54 45 4e 54 2e 0a 54 68 69 73 | name.referenced.in.CONTENT..This |
3060 | 20 69 73 20 75 73 65 64 20 69 6e 20 60 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 75 6e 69 71 75 65 2d | .is.used.in.`nov-content-unique- |
3080 | 69 64 65 6e 74 69 66 69 65 72 27 20 74 6f 20 72 65 74 72 69 65 76 65 20 74 68 65 0a 74 68 65 20 | identifier'.to.retrieve.the.the. |
30a0 | 73 70 65 63 69 66 69 63 20 74 79 70 65 20 6f 66 20 75 6e 69 71 75 65 20 69 64 65 6e 74 69 66 69 | specific.type.of.unique.identifi |
30c0 | 65 72 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6e 6f 64 65 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 | er."...(let*.((node.(esxml-query |
30e0 | 20 22 70 61 63 6b 61 67 65 5b 75 6e 69 71 75 65 2d 69 64 65 6e 74 69 66 69 65 72 5d 22 20 63 6f | ."package[unique-identifier]".co |
3100 | 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 28 64 6f 6d 2d 61 74 74 72 | ntent))..........(name.(dom-attr |
3120 | 20 6e 6f 64 65 20 27 75 6e 69 71 75 65 2d 69 64 65 6e 74 69 66 69 65 72 29 29 29 0a 20 20 20 20 | .node.'unique-identifier)))..... |
3140 | 28 77 68 65 6e 20 28 6e 6f 74 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 55 | (when.(not.name).......(error."U |
3160 | 6e 69 71 75 65 20 69 64 65 6e 74 69 66 69 65 72 20 6e 61 6d 65 20 6e 6f 74 20 73 70 65 63 69 66 | nique.identifier.name.not.specif |
3180 | 69 65 64 22 29 29 0a 20 20 20 20 6e 61 6d 65 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f | ied")).....name))..(defun.nov-co |
31a0 | 6e 74 65 6e 74 2d 75 6e 69 71 75 65 2d 69 64 65 6e 74 69 66 69 65 72 20 28 63 6f 6e 74 65 6e 74 | ntent-unique-identifier.(content |
31c0 | 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 74 68 65 20 75 6e 69 71 75 65 20 69 64 65 6e 74 | )..."Return.the.the.unique.ident |
31e0 | 69 66 69 65 72 20 66 6f 72 20 43 4f 4e 54 45 4e 54 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6e 61 | ifier.for.CONTENT."...(let*.((na |
3200 | 6d 65 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 75 6e 69 71 75 65 2d 69 64 65 6e 74 69 66 69 65 | me.(nov-content-unique-identifie |
3220 | 72 2d 6e 61 6d 65 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 6c 65 63 | r-name.content))..........(selec |
3240 | 74 6f 72 20 28 66 6f 72 6d 61 74 20 22 70 61 63 6b 61 67 65 3e 6d 65 74 61 64 61 74 61 3e 69 64 | tor.(format."package>metadata>id |
3260 | 65 6e 74 69 66 69 65 72 5b 69 64 3d 27 25 73 27 5d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | entifier[id='%s']".............. |
3280 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 2d 63 73 73 2d 65 | ..............(esxml-query-css-e |
32a0 | 73 63 61 70 65 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 64 20 28 63 61 72 20 | scape.name)))..........(id.(car. |
32c0 | 28 64 6f 6d 2d 63 68 69 6c 64 72 65 6e 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 73 65 6c 65 63 | (dom-children.(esxml-query.selec |
32e0 | 74 6f 72 20 63 6f 6e 74 65 6e 74 29 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 | tor.content))))).....(when.(not. |
3300 | 69 64 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 55 6e 69 71 75 65 20 69 64 65 6e 74 69 66 | id).......(error."Unique.identif |
3320 | 69 65 72 20 6e 6f 74 20 66 6f 75 6e 64 20 62 79 20 69 74 73 20 6e 61 6d 65 3a 20 25 73 22 20 6e | ier.not.found.by.its.name:.%s".n |
3340 | 61 6d 65 29 29 0a 20 20 20 20 28 69 6e 74 65 72 6e 20 69 64 29 29 29 0a 0a 3b 3b 20 4e 4f 54 45 | ame)).....(intern.id)))..;;.NOTE |
3360 | 3a 20 75 6e 69 71 75 65 20 69 64 65 6e 74 69 66 69 65 72 20 69 73 20 71 75 65 72 69 65 64 20 73 | :.unique.identifier.is.queried.s |
3380 | 65 70 61 72 61 74 65 6c 79 20 61 73 20 69 64 65 6e 74 69 66 69 65 72 73 20 63 61 6e 0a 3b 3b 20 | eparately.as.identifiers.can.;;. |
33a0 | 61 70 70 65 61 72 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 20 61 6e 64 20 6f 6e 6c 79 20 6f | appear.more.than.once.and.only.o |
33c0 | 6e 65 20 6f 66 20 74 68 65 6d 20 63 61 6e 20 62 65 20 74 68 65 20 75 6e 69 71 75 65 20 6f 6e 65 | ne.of.them.can.be.the.unique.one |
33e0 | 0a 28 64 65 66 76 61 72 20 6e 6f 76 2d 72 65 71 75 69 72 65 64 2d 6d 65 74 61 64 61 74 61 2d 74 | .(defvar.nov-required-metadata-t |
3400 | 61 67 73 20 27 28 74 69 74 6c 65 20 6c 61 6e 67 75 61 67 65 29 0a 20 20 22 52 65 71 75 69 72 65 | ags.'(title.language)..."Require |
3420 | 64 20 6d 65 74 61 64 61 74 61 20 74 61 67 73 20 75 73 65 64 20 66 6f 72 20 60 6e 6f 76 2d 63 6f | d.metadata.tags.used.for.`nov-co |
3440 | 6e 74 65 6e 74 2d 6d 65 74 61 64 61 74 61 27 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 6e 6f 76 2d | ntent-metadata'.")..(defvar.nov- |
3460 | 6f 70 74 69 6f 6e 61 6c 2d 6d 65 74 61 64 61 74 61 2d 74 61 67 73 0a 20 20 27 28 63 6f 6e 74 72 | optional-metadata-tags...'(contr |
3480 | 69 62 75 74 6f 72 20 63 6f 76 65 72 61 67 65 20 63 72 65 61 74 6f 72 20 64 61 74 65 20 64 65 73 | ibutor.coverage.creator.date.des |
34a0 | 63 72 69 70 74 69 6f 6e 20 66 6f 72 6d 61 74 0a 20 20 20 20 70 75 62 6c 69 73 68 65 72 20 72 65 | cription.format.....publisher.re |
34c0 | 6c 61 74 69 6f 6e 20 72 69 67 68 74 73 20 73 6f 75 72 63 65 20 73 75 62 6a 65 63 74 20 74 79 70 | lation.rights.source.subject.typ |
34e0 | 65 29 0a 20 20 22 4f 70 74 69 6f 6e 61 6c 20 6d 65 74 61 64 61 74 61 20 74 61 67 73 20 75 73 65 | e)..."Optional.metadata.tags.use |
3500 | 64 20 66 6f 72 20 60 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 6d 65 74 61 64 61 74 61 27 2e 22 29 0a | d.for.`nov-content-metadata'."). |
3520 | 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 6d 65 74 61 64 61 74 61 20 28 63 6f | .(defun.nov-content-metadata.(co |
3540 | 6e 74 65 6e 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6d 65 74 61 64 61 74 61 20 61 6c 69 73 | ntent)..."Return.a.metadata.alis |
3560 | 74 20 66 6f 72 20 43 4f 4e 54 45 4e 54 2e 0a 52 65 71 75 69 72 65 64 20 6b 65 79 73 20 61 72 65 | t.for.CONTENT..Required.keys.are |
3580 | 20 5c 5c 3d 27 69 64 65 6e 74 69 66 69 65 72 20 61 6e 64 20 65 76 65 72 79 74 68 69 6e 67 20 69 | .\\='identifier.and.everything.i |
35a0 | 6e 0a 60 6e 6f 76 2d 72 65 71 75 69 72 65 64 2d 6d 65 74 61 64 61 74 61 2d 74 61 67 73 27 2c 20 | n.`nov-required-metadata-tags',. |
35c0 | 6f 70 74 69 6f 6e 61 6c 20 6b 65 79 73 20 61 72 65 20 69 6e 0a 60 6e 6f 76 2d 6f 70 74 69 6f 6e | optional.keys.are.in.`nov-option |
35e0 | 61 6c 2d 6d 65 74 61 64 61 74 61 2d 74 61 67 73 27 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 69 64 | al-metadata-tags'."...(let*.((id |
3600 | 65 6e 74 69 66 69 65 72 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 75 6e 69 71 75 65 2d 69 64 65 | entifier.(nov-content-unique-ide |
3620 | 6e 74 69 66 69 65 72 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 61 6e 64 | ntifier.content))..........(cand |
3640 | 69 64 61 74 65 73 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 0a 20 20 | idates.(mapcar.(lambda.(node)... |
3660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f | .............................(co |
3680 | 6e 73 20 28 64 6f 6d 2d 74 61 67 20 6e 6f 64 65 29 20 28 63 61 72 20 28 64 6f 6d 2d 63 68 69 6c | ns.(dom-tag.node).(car.(dom-chil |
36a0 | 64 72 65 6e 20 6e 6f 64 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | dren.node))))................... |
36c0 | 20 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 22 70 61 63 | ...........(esxml-query-all."pac |
36e0 | 6b 61 67 65 3e 6d 65 74 61 64 61 74 61 3e 2a 22 20 63 6f 6e 74 65 6e 74 29 29 29 0a 20 20 20 20 | kage>metadata>*".content)))..... |
3700 | 20 20 20 20 20 28 72 65 71 75 69 72 65 64 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 | .....(required.(mapcar.(lambda.( |
3720 | 74 61 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tag)............................ |
3740 | 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 20 28 63 64 72 20 28 61 73 73 71 20 74 61 | ..(let.((candidate.(cdr.(assq.ta |
3760 | 67 20 63 61 6e 64 69 64 61 74 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | g.candidates))))................ |
3780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 63 61 6e 64 69 | ................(when.(not.candi |
37a0 | 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | date)........................... |
37c0 | 20 20 20 20 20 20 20 3b 3b 20 4e 4f 54 45 3a 20 74 68 69 73 20 73 68 6f 75 6c 64 20 69 64 65 61 | .......;;.NOTE:.this.should.idea |
37e0 | 6c 6c 79 20 62 65 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lly.be.a........................ |
3800 | 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 61 72 6e 69 6e 67 2c 20 62 75 74 20 60 77 61 72 6e 27 | ..........;;.warning,.but.`warn' |
3820 | 20 69 73 20 74 6f 6f 20 6f 62 74 72 75 73 69 76 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .is.too.obtrusive............... |
3840 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 52 65 71 | ...................(message."Req |
3860 | 75 69 72 65 64 20 6d 65 74 61 64 61 74 75 6d 20 25 73 20 6e 6f 74 20 66 6f 75 6e 64 22 20 74 61 | uired.metadatum.%s.not.found".ta |
3880 | 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | g))............................. |
38a0 | 20 20 20 28 63 6f 6e 73 20 74 61 67 20 63 61 6e 64 69 64 61 74 65 29 29 29 0a 20 20 20 20 20 20 | ...(cons.tag.candidate)))....... |
38c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 76 2d 72 65 71 75 69 72 65 | .....................nov-require |
38e0 | 64 2d 6d 65 74 61 64 61 74 61 2d 74 61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 70 74 69 | d-metadata-tags))..........(opti |
3900 | 6f 6e 61 6c 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 74 61 67 29 20 28 63 6f 6e 73 | onal.(mapcar.(lambda.(tag).(cons |
3920 | 20 74 61 67 20 28 63 64 72 20 28 61 73 73 71 20 74 61 67 20 63 61 6e 64 69 64 61 74 65 73 29 29 | .tag.(cdr.(assq.tag.candidates)) |
3940 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f | ))............................no |
3960 | 76 2d 6f 70 74 69 6f 6e 61 6c 2d 6d 65 74 61 64 61 74 61 2d 74 61 67 73 29 29 29 0a 20 20 20 20 | v-optional-metadata-tags)))..... |
3980 | 28 61 70 70 65 6e 64 20 60 28 28 69 64 65 6e 74 69 66 69 65 72 20 2e 20 2c 69 64 65 6e 74 69 66 | (append.`((identifier...,identif |
39a0 | 69 65 72 29 29 20 72 65 71 75 69 72 65 64 20 6f 70 74 69 6f 6e 61 6c 29 29 29 0a 0a 28 64 65 66 | ier)).required.optional)))..(def |
39c0 | 75 6e 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 6d 61 6e 69 66 65 73 74 20 28 64 69 72 65 63 74 6f | un.nov-content-manifest.(directo |
39e0 | 72 79 20 63 6f 6e 74 65 6e 74 29 0a 20 20 22 45 78 74 72 61 63 74 20 61 6e 20 61 6c 69 73 74 20 | ry.content)..."Extract.an.alist. |
3a00 | 6f 66 20 6d 61 6e 69 66 65 73 74 20 66 69 6c 65 73 20 66 6f 72 20 43 4f 4e 54 45 4e 54 20 69 6e | of.manifest.files.for.CONTENT.in |
3a20 | 20 44 49 52 45 43 54 4f 52 59 2e 0a 45 61 63 68 20 61 6c 69 73 74 20 69 74 65 6d 20 63 6f 6e 73 | .DIRECTORY..Each.alist.item.cons |
3a40 | 69 73 74 73 20 6f 66 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 61 6e 64 20 66 75 6c 6c 20 | ists.of.the.identifier.and.full. |
3a60 | 70 61 74 68 2e 22 0a 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 0a | path."...(mapcar.(lambda.(node). |
3a80 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 64 20 28 64 6f 6d 2d 61 74 74 72 20 | ............(let.((id.(dom-attr. |
3aa0 | 6e 6f 64 65 20 27 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 72 | node.'id))...................(hr |
3ac0 | 65 66 20 28 64 6f 6d 2d 61 74 74 72 20 6e 6f 64 65 20 27 68 72 65 66 29 29 29 0a 20 20 20 20 20 | ef.(dom-attr.node.'href)))...... |
3ae0 | 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 69 6e 74 65 72 6e 20 69 64 29 0a 20 20 20 20 20 | .........(cons.(intern.id)...... |
3b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 20 64 69 | ...............(nov-make-path.di |
3b20 | 72 65 63 74 6f 72 79 20 28 6e 6f 76 2d 75 72 6c 64 65 63 6f 64 65 20 68 72 65 66 29 29 29 29 29 | rectory.(nov-urldecode.href))))) |
3b40 | 0a 20 20 20 20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 22 70 61 63 | ...........(esxml-query-all."pac |
3b60 | 6b 61 67 65 3e 6d 61 6e 69 66 65 73 74 3e 69 74 65 6d 22 20 63 6f 6e 74 65 6e 74 29 29 29 0a 0a | kage>manifest>item".content))).. |
3b80 | 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 73 70 69 6e 65 20 28 63 6f 6e 74 65 6e | (defun.nov-content-spine.(conten |
3ba0 | 74 29 0a 20 20 22 45 78 74 72 61 63 74 20 61 20 6c 69 73 74 20 6f 66 20 73 70 69 6e 65 20 69 64 | t)..."Extract.a.list.of.spine.id |
3bc0 | 65 6e 74 69 66 69 65 72 73 20 66 6f 72 20 43 4f 4e 54 45 4e 54 2e 22 0a 20 20 28 6d 61 70 63 61 | entifiers.for.CONTENT."...(mapca |
3be0 | 72 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 69 6e 74 65 72 6e 20 28 64 6f 6d 2d 61 74 | r.(lambda.(node).(intern.(dom-at |
3c00 | 74 72 20 6e 6f 64 65 20 27 69 64 72 65 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 73 78 | tr.node.'idref)))...........(esx |
3c20 | 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 22 70 61 63 6b 61 67 65 3e 73 70 69 6e 65 3e 69 74 65 6d | ml-query-all."package>spine>item |
3c40 | 72 65 66 22 20 63 6f 6e 74 65 6e 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 2d 63 6f 6e | ref".content)))..(defun.nov--con |
3c60 | 74 65 6e 74 2d 65 70 75 62 32 2d 66 69 6c 65 73 20 28 63 6f 6e 74 65 6e 74 20 6d 61 6e 69 66 65 | tent-epub2-files.(content.manife |
3c80 | 73 74 20 66 69 6c 65 73 29 0a 20 20 28 6c 65 74 2a 20 28 28 6e 6f 64 65 20 28 65 73 78 6d 6c 2d | st.files)...(let*.((node.(esxml- |
3ca0 | 71 75 65 72 79 20 22 70 61 63 6b 61 67 65 3e 73 70 69 6e 65 5b 74 6f 63 5d 22 20 63 6f 6e 74 65 | query."package>spine[toc]".conte |
3cc0 | 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 64 20 28 64 6f 6d 2d 61 74 74 72 20 6e 6f 64 65 | nt))..........(id.(dom-attr.node |
3ce0 | 20 27 74 6f 63 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 69 64 29 0a 20 20 20 20 | .'toc))).....(when.(not.id)..... |
3d00 | 20 20 28 65 72 72 6f 72 20 22 45 50 55 42 20 32 20 4e 43 58 20 49 44 20 6e 6f 74 20 66 6f 75 6e | ..(error."EPUB.2.NCX.ID.not.foun |
3d20 | 64 22 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 74 6f 63 2d 69 64 20 28 69 6e 74 65 72 | d")).....(setq.nov-toc-id.(inter |
3d40 | 6e 20 69 64 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 74 6f 63 2d 66 69 6c 65 20 28 61 73 73 71 | n.id)).....(let.((toc-file.(assq |
3d60 | 20 6e 6f 76 2d 74 6f 63 2d 69 64 20 6d 61 6e 69 66 65 73 74 29 29 29 0a 20 20 20 20 20 20 28 77 | .nov-toc-id.manifest))).......(w |
3d80 | 68 65 6e 20 28 6e 6f 74 20 74 6f 63 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f | hen.(not.toc-file).........(erro |
3da0 | 72 20 22 45 50 55 42 20 32 20 4e 43 58 20 66 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 22 29 29 0a | r."EPUB.2.NCX.file.not.found")). |
3dc0 | 20 20 20 20 20 20 28 63 6f 6e 73 20 74 6f 63 2d 66 69 6c 65 20 66 69 6c 65 73 29 29 29 29 0a 0a | ......(cons.toc-file.files)))).. |
3de0 | 28 64 65 66 75 6e 20 6e 6f 76 2d 2d 63 6f 6e 74 65 6e 74 2d 65 70 75 62 33 2d 66 69 6c 65 73 20 | (defun.nov--content-epub3-files. |
3e00 | 28 63 6f 6e 74 65 6e 74 20 6d 61 6e 69 66 65 73 74 20 66 69 6c 65 73 29 0a 20 20 28 6c 65 74 2a | (content.manifest.files)...(let* |
3e20 | 20 28 28 6e 6f 64 65 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 70 61 63 6b 61 67 65 3e 6d 61 | .((node.(esxml-query."package>ma |
3e40 | 6e 69 66 65 73 74 3e 69 74 65 6d 5b 70 72 6f 70 65 72 74 69 65 73 7e 3d 6e 61 76 5d 22 20 63 6f | nifest>item[properties~=nav]".co |
3e60 | 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 64 20 28 64 6f 6d 2d 61 74 74 72 20 6e | ntent))..........(id.(dom-attr.n |
3e80 | 6f 64 65 20 27 69 64 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 69 64 29 0a 20 20 | ode.'id))).....(when.(not.id)... |
3ea0 | 20 20 20 20 28 65 72 72 6f 72 20 22 45 50 55 42 20 33 20 3c 6e 61 76 3e 20 49 44 20 6e 6f 74 20 | ....(error."EPUB.3.<nav>.ID.not. |
3ec0 | 66 6f 75 6e 64 22 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 74 6f 63 2d 69 64 20 28 69 | found")).....(setq.nov-toc-id.(i |
3ee0 | 6e 74 65 72 6e 20 69 64 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 74 6f 63 2d 66 69 6c 65 20 28 | ntern.id)).....(let.((toc-file.( |
3f00 | 61 73 73 71 20 6e 6f 76 2d 74 6f 63 2d 69 64 20 6d 61 6e 69 66 65 73 74 29 29 29 0a 20 20 20 20 | assq.nov-toc-id.manifest)))..... |
3f20 | 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 74 6f 63 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 28 | ..(when.(not.toc-file).........( |
3f40 | 65 72 72 6f 72 20 22 45 50 55 42 20 33 20 3c 6e 61 76 3e 20 66 69 6c 65 20 6e 6f 74 20 66 6f 75 | error."EPUB.3.<nav>.file.not.fou |
3f60 | 6e 64 22 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 66 69 6c 65 73 20 28 73 65 71 2d 72 65 6d | nd")).......(setq.files.(seq-rem |
3f80 | 6f 76 65 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 20 28 65 71 20 28 63 61 72 20 69 74 65 6d | ove.(lambda.(item).(eq.(car.item |
3fa0 | 29 20 6e 6f 76 2d 74 6f 63 2d 69 64 29 29 20 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 28 63 6f | ).nov-toc-id)).files)).......(co |
3fc0 | 6e 73 20 74 6f 63 2d 66 69 6c 65 20 66 69 6c 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f | ns.toc-file.files))))..(defun.no |
3fe0 | 76 2d 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 73 20 28 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 65 | v-content-files.(directory.conte |
4000 | 6e 74 29 0a 20 20 22 43 72 65 61 74 65 20 63 6f 72 72 65 63 74 6c 79 20 6f 72 64 65 72 65 64 20 | nt)..."Create.correctly.ordered. |
4020 | 66 69 6c 65 20 61 6c 69 73 74 20 66 6f 72 20 43 4f 4e 54 45 4e 54 20 69 6e 20 44 49 52 45 43 54 | file.alist.for.CONTENT.in.DIRECT |
4040 | 4f 52 59 2e 0a 45 61 63 68 20 61 6c 69 73 74 20 69 74 65 6d 20 63 6f 6e 73 69 73 74 73 20 6f 66 | ORY..Each.alist.item.consists.of |
4060 | 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 61 6e 64 20 66 75 6c 6c 20 70 61 74 68 2e 22 0a | .the.identifier.and.full.path.". |
4080 | 20 20 28 6c 65 74 2a 20 28 28 6d 61 6e 69 66 65 73 74 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d | ..(let*.((manifest.(nov-content- |
40a0 | 6d 61 6e 69 66 65 73 74 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 | manifest.directory.content)).... |
40c0 | 20 20 20 20 20 20 28 73 70 69 6e 65 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 73 70 69 6e 65 20 | ......(spine.(nov-content-spine. |
40e0 | 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 73 20 28 6d 61 70 63 61 | content))..........(files.(mapca |
4100 | 72 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 20 28 61 73 73 71 20 69 74 65 6d 20 6d 61 6e 69 | r.(lambda.(item).(assq.item.mani |
4120 | 66 65 73 74 29 29 20 73 70 69 6e 65 29 29 29 0a 20 20 20 20 28 69 66 20 28 76 65 72 73 69 6f 6e | fest)).spine))).....(if.(version |
4140 | 3c 20 6e 6f 76 2d 65 70 75 62 2d 76 65 72 73 69 6f 6e 20 22 33 2e 30 22 29 0a 20 20 20 20 20 20 | <.nov-epub-version."3.0")....... |
4160 | 20 20 28 6e 6f 76 2d 2d 63 6f 6e 74 65 6e 74 2d 65 70 75 62 32 2d 66 69 6c 65 73 20 63 6f 6e 74 | ..(nov--content-epub2-files.cont |
4180 | 65 6e 74 20 6d 61 6e 69 66 65 73 74 20 66 69 6c 65 73 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 2d | ent.manifest.files).......(nov-- |
41a0 | 63 6f 6e 74 65 6e 74 2d 65 70 75 62 33 2d 66 69 6c 65 73 20 63 6f 6e 74 65 6e 74 20 6d 61 6e 69 | content-epub3-files.content.mani |
41c0 | 66 65 73 74 20 66 69 6c 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 2d 77 61 6c 6b | fest.files))))..(defun.nov--walk |
41e0 | 2d 6e 63 78 2d 6e 6f 64 65 20 28 6e 6f 64 65 29 0a 20 20 28 6c 65 74 20 28 28 74 61 67 20 28 64 | -ncx-node.(node)...(let.((tag.(d |
4200 | 6f 6d 2d 74 61 67 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 28 63 68 69 6c 64 72 65 6e 20 | om-tag.node)).........(children. |
4220 | 28 73 65 71 2d 66 69 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 28 63 68 69 6c 64 29 20 28 65 71 20 | (seq-filter.(lambda.(child).(eq. |
4240 | 28 64 6f 6d 2d 74 61 67 20 63 68 69 6c 64 29 20 27 6e 61 76 50 6f 69 6e 74 29 29 0a 20 20 20 20 | (dom-tag.child).'navPoint))..... |
4260 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6d 2d 63 | ..........................(dom-c |
4280 | 68 69 6c 64 72 65 6e 20 6e 6f 64 65 29 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 | hildren.node)))).....(cond...... |
42a0 | 28 28 65 71 20 74 61 67 20 27 6e 61 76 4d 61 70 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 | ((eq.tag.'navMap).......(insert. |
42c0 | 22 3c 6f 6c 3e 5c 6e 22 29 0a 20 20 20 20 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 6e | "<ol>\n").......(mapc.(lambda.(n |
42e0 | 6f 64 65 29 20 28 6e 6f 76 2d 2d 77 61 6c 6b 2d 6e 63 78 2d 6e 6f 64 65 20 6e 6f 64 65 29 29 20 | ode).(nov--walk-ncx-node.node)). |
4300 | 63 68 69 6c 64 72 65 6e 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 3c 2f 6f 6c 3e 5c 6e | children).......(insert."</ol>\n |
4320 | 22 29 29 0a 20 20 20 20 20 28 28 65 71 20 74 61 67 20 27 6e 61 76 50 6f 69 6e 74 29 0a 20 20 20 | "))......((eq.tag.'navPoint).... |
4340 | 20 20 20 28 6c 65 74 2a 20 28 28 6e 61 76 6c 61 62 65 6c 2d 6e 6f 64 65 20 28 64 6f 6d 2d 62 79 | ...(let*.((navlabel-node.(dom-by |
4360 | 2d 74 61 67 20 6e 6f 64 65 20 27 6e 61 76 4c 61 62 65 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 | -tag.node.'navLabel))........... |
4380 | 20 20 20 28 6c 61 62 65 6c 2d 6e 6f 64 65 20 28 64 6f 6d 2d 62 79 2d 74 61 67 20 6e 61 76 6c 61 | ...(label-node.(dom-by-tag.navla |
43a0 | 62 65 6c 2d 6e 6f 64 65 20 27 74 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 | bel-node.'text))..............(c |
43c0 | 6f 6e 74 65 6e 74 2d 6e 6f 64 65 20 28 64 6f 6d 2d 62 79 2d 74 61 67 20 6e 6f 64 65 20 27 63 6f | ontent-node.(dom-by-tag.node.'co |
43e0 | 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 72 65 66 20 28 6e 6f 76 2d | ntent))..............(href.(nov- |
4400 | 75 72 6c 64 65 63 6f 64 65 20 28 64 6f 6d 2d 61 74 74 72 20 63 6f 6e 74 65 6e 74 2d 6e 6f 64 65 | urldecode.(dom-attr.content-node |
4420 | 20 27 73 72 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 62 65 6c 20 28 61 6e | .'src)))..............(label.(an |
4440 | 64 20 6c 61 62 65 6c 2d 6e 6f 64 65 20 28 63 61 72 20 28 64 6f 6d 2d 63 68 69 6c 64 72 65 6e 20 | d.label-node.(car.(dom-children. |
4460 | 6c 61 62 65 6c 2d 6e 6f 64 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e | label-node))))).........(when.(n |
4480 | 6f 74 20 68 72 65 66 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 61 76 69 67 | ot.href)...........(error."Navig |
44a0 | 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 73 20 6d 69 73 73 69 6e 67 20 68 72 65 66 20 61 74 74 72 | ation.point.is.missing.href.attr |
44c0 | 69 62 75 74 65 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 6e 6b 20 28 66 6f | ibute")).........(let.((link.(fo |
44e0 | 72 6d 61 74 20 22 3c 61 20 68 72 65 66 3d 5c 22 25 73 5c 22 3e 25 73 3c 2f 61 3e 22 0a 20 20 20 | rmat."<a.href=\"%s\">%s</a>".... |
4500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d 69 6e | .........................(url-in |
4520 | 73 65 72 74 2d 65 6e 74 69 74 69 65 73 2d 69 6e 2d 73 74 72 69 6e 67 20 68 72 65 66 29 0a 20 20 | sert-entities-in-string.href)... |
4540 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d 69 | ..........................(url-i |
4560 | 6e 73 65 72 74 2d 65 6e 74 69 74 69 65 73 2d 69 6e 2d 73 74 72 69 6e 67 20 28 6f 72 20 6c 61 62 | nsert-entities-in-string.(or.lab |
4580 | 65 6c 20 68 72 65 66 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 63 68 69 6c 64 | el.href)))))...........(if.child |
45a0 | 72 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 | ren...............(progn........ |
45c0 | 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 3c 6c 69 3e 5c 6e | .........(insert.(format."<li>\n |
45e0 | 25 73 5c 6e 3c 6f 6c 3e 5c 6e 22 20 6c 69 6e 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | %s\n<ol>\n".link)).............. |
4600 | 20 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 20 28 6e 6f 76 2d 2d 77 61 | ...(mapc.(lambda.(node).(nov--wa |
4620 | 6c 6b 2d 6e 63 78 2d 6e 6f 64 65 20 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | lk-ncx-node.node)).............. |
4640 | 20 20 20 20 20 20 20 20 20 63 68 69 6c 64 72 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .........children).............. |
4660 | 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 3c 2f 6f 6c 3e 5c 6e 3c 2f 6c 69 3e | ...(insert.(format."</ol>\n</li> |
4680 | 5c 6e 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d | \n"))).............(insert.(form |
46a0 | 61 74 20 22 3c 6c 69 3e 5c 6e 25 73 5c 6e 3c 2f 6c 69 3e 5c 6e 22 20 6c 69 6e 6b 29 29 29 29 29 | at."<li>\n%s\n</li>\n".link))))) |
46c0 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6e 63 78 2d 74 6f 2d 68 74 6d 6c 20 28 70 61 | ))))..(defun.nov-ncx-to-html.(pa |
46e0 | 74 68 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 4e 43 58 20 64 6f 63 75 6d 65 6e 74 20 61 74 20 50 | th)..."Convert.NCX.document.at.P |
4700 | 41 54 48 20 74 6f 20 48 54 4d 4c 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 6f 6f 74 20 28 65 73 78 | ATH.to.HTML."...(let.((root.(esx |
4720 | 6d 6c 2d 71 75 65 72 79 20 22 6e 61 76 4d 61 70 22 20 28 6e 6f 76 2d 73 6c 75 72 70 20 70 61 74 | ml-query."navMap".(nov-slurp.pat |
4740 | 68 20 74 29 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 | h.t)))).....(with-temp-buffer... |
4760 | 20 20 20 20 28 6e 6f 76 2d 2d 77 61 6c 6b 2d 6e 63 78 2d 6e 6f 64 65 20 72 6f 6f 74 29 0a 20 20 | ....(nov--walk-ncx-node.root)... |
4780 | 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 55 49 | ....(buffer-string))))....;;;.UI |
47a0 | 0a 0a 28 64 65 66 76 61 72 20 6e 6f 76 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 | ..(defvar.nov-mode-map...(let.(( |
47c0 | 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20 28 | map.(make-sparse-keymap))).....( |
47e0 | 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 67 22 29 20 27 6e 6f 76 2d 72 65 | define-key.map.(kbd."g").'nov-re |
4800 | 6e 64 65 72 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d | nder-document).....(define-key.m |
4820 | 61 70 20 28 6b 62 64 20 22 76 22 29 20 27 6e 6f 76 2d 76 69 65 77 2d 73 6f 75 72 63 65 29 0a 20 | ap.(kbd."v").'nov-view-source).. |
4840 | 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 56 22 29 20 27 6e 6f | ...(define-key.map.(kbd."V").'no |
4860 | 76 2d 76 69 65 77 2d 63 6f 6e 74 65 6e 74 2d 73 6f 75 72 63 65 29 0a 20 20 20 20 28 64 65 66 69 | v-view-content-source).....(defi |
4880 | 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 61 22 29 20 27 6e 6f 76 2d 72 65 6f 70 65 6e | ne-key.map.(kbd."a").'nov-reopen |
48a0 | 2d 61 73 2d 61 72 63 68 69 76 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 | -as-archive).....(define-key.map |
48c0 | 20 28 6b 62 64 20 22 6d 22 29 20 27 6e 6f 76 2d 64 69 73 70 6c 61 79 2d 6d 65 74 61 64 61 74 61 | .(kbd."m").'nov-display-metadata |
48e0 | 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 6e 22 29 20 | ).....(define-key.map.(kbd."n"). |
4900 | 27 6e 6f 76 2d 6e 65 78 74 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d | 'nov-next-document).....(define- |
4920 | 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 5d 22 29 20 27 6e 6f 76 2d 6e 65 78 74 2d 64 6f 63 75 | key.map.(kbd."]").'nov-next-docu |
4940 | 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 | ment).....(define-key.map.(kbd." |
4960 | 70 22 29 20 27 6e 6f 76 2d 70 72 65 76 69 6f 75 73 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 20 | p").'nov-previous-document)..... |
4980 | 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 5b 22 29 20 27 6e 6f 76 2d 70 | (define-key.map.(kbd."[").'nov-p |
49a0 | 72 65 76 69 6f 75 73 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 | revious-document).....(define-ke |
49c0 | 79 20 6d 61 70 20 28 6b 62 64 20 22 74 22 29 20 27 6e 6f 76 2d 67 6f 74 6f 2d 74 6f 63 29 0a 20 | y.map.(kbd."t").'nov-goto-toc).. |
49e0 | 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 6c 22 29 20 27 6e 6f | ...(define-key.map.(kbd."l").'no |
4a00 | 76 2d 68 69 73 74 6f 72 79 2d 62 61 63 6b 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 | v-history-back).....(define-key. |
4a20 | 6d 61 70 20 28 6b 62 64 20 22 72 22 29 20 27 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 | map.(kbd."r").'nov-history-forwa |
4a40 | 72 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 54 41 | rd).....(define-key.map.(kbd."TA |
4a60 | 42 22 29 20 27 73 68 72 2d 6e 65 78 74 2d 6c 69 6e 6b 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d | B").'shr-next-link).....(define- |
4a80 | 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 4d 2d 54 41 42 22 29 20 27 73 68 72 2d 70 72 65 76 69 | key.map.(kbd."M-TAB").'shr-previ |
4aa0 | 6f 75 73 2d 6c 69 6e 6b 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b | ous-link).....(define-key.map.(k |
4ac0 | 62 64 20 22 3c 62 61 63 6b 74 61 62 3e 22 29 20 27 73 68 72 2d 70 72 65 76 69 6f 75 73 2d 6c 69 | bd."<backtab>").'shr-previous-li |
4ae0 | 6e 6b 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 53 50 | nk).....(define-key.map.(kbd."SP |
4b00 | 43 22 29 20 27 6e 6f 76 2d 73 63 72 6f 6c 6c 2d 75 70 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d | C").'nov-scroll-up).....(define- |
4b20 | 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 53 2d 53 50 43 22 29 20 27 6e 6f 76 2d 73 63 72 6f 6c | key.map.(kbd."S-SPC").'nov-scrol |
4b40 | 6c 2d 64 6f 77 6e 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 | l-down).....(define-key.map.(kbd |
4b60 | 20 22 44 45 4c 22 29 20 27 6e 6f 76 2d 73 63 72 6f 6c 6c 2d 64 6f 77 6e 29 0a 20 20 20 20 28 64 | ."DEL").'nov-scroll-down).....(d |
4b80 | 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 3c 68 6f 6d 65 3e 22 29 20 27 62 65 | efine-key.map.(kbd."<home>").'be |
4ba0 | 67 69 6e 6e 69 6e 67 2d 6f 66 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b | ginning-of-buffer).....(define-k |
4bc0 | 65 79 20 6d 61 70 20 28 6b 62 64 20 22 3c 65 6e 64 3e 22 29 20 27 65 6e 64 2d 6f 66 2d 62 75 66 | ey.map.(kbd."<end>").'end-of-buf |
4be0 | 66 65 72 29 0a 20 20 20 20 6d 61 70 29 29 0a 0a 28 64 65 66 76 61 72 20 6e 6f 76 2d 62 75 74 74 | fer).....map))..(defvar.nov-butt |
4c00 | 6f 6e 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28 63 6f 70 79 2d 6b 65 79 6d 61 70 | on-map...(let.((map.(copy-keymap |
4c20 | 20 6e 6f 76 2d 6d 6f 64 65 2d 6d 61 70 29 29 29 0a 20 20 20 20 28 73 65 74 2d 6b 65 79 6d 61 70 | .nov-mode-map))).....(set-keymap |
4c40 | 2d 70 61 72 65 6e 74 20 6d 61 70 20 73 68 72 2d 6d 61 70 29 0a 20 20 20 20 28 64 65 66 69 6e 65 | -parent.map.shr-map).....(define |
4c60 | 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 52 45 54 22 29 20 27 6e 6f 76 2d 62 72 6f 77 73 65 | -key.map.(kbd."RET").'nov-browse |
4c80 | 2d 75 72 6c 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 | -url).....(define-key.map.(kbd." |
4ca0 | 3c 6d 6f 75 73 65 2d 32 3e 22 29 20 27 6e 6f 76 2d 62 72 6f 77 73 65 2d 75 72 6c 29 0a 20 20 20 | <mouse-2>").'nov-browse-url).... |
4cc0 | 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 63 22 29 20 27 6e 6f 76 2d | .(define-key.map.(kbd."c").'nov- |
4ce0 | 63 6f 70 79 2d 75 72 6c 29 0a 20 20 20 20 6d 61 70 29 29 0a 0a 28 65 61 73 79 2d 6d 65 6e 75 2d | copy-url).....map))..(easy-menu- |
4d00 | 64 65 66 69 6e 65 20 6e 6f 76 2d 6d 6f 64 65 2d 6d 65 6e 75 20 6e 6f 76 2d 6d 6f 64 65 2d 6d 61 | define.nov-mode-menu.nov-mode-ma |
4d20 | 70 20 22 4d 65 6e 75 20 66 6f 72 20 6e 6f 76 2d 6d 6f 64 65 22 0a 20 20 27 28 22 45 50 55 42 22 | p."Menu.for.nov-mode"...'("EPUB" |
4d40 | 0a 20 20 20 20 5b 22 4e 65 78 74 22 20 6e 6f 76 2d 6e 65 78 74 2d 64 6f 63 75 6d 65 6e 74 0a 20 | .....["Next".nov-next-document.. |
4d60 | 20 20 20 20 3a 68 65 6c 70 20 22 47 6f 20 74 6f 20 74 68 65 20 6e 65 78 74 20 64 6f 63 75 6d 65 | ....:help."Go.to.the.next.docume |
4d80 | 6e 74 22 5d 0a 20 20 20 20 5b 22 50 72 65 76 69 6f 75 73 22 20 6e 6f 76 2d 70 72 65 76 69 6f 75 | nt"].....["Previous".nov-previou |
4da0 | 73 2d 64 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 47 6f 20 74 6f 20 74 68 65 | s-document......:help."Go.to.the |
4dc0 | 20 70 72 65 76 69 6f 75 73 20 64 6f 63 75 6d 65 6e 74 22 5d 0a 20 20 20 20 5b 22 42 61 63 6b 77 | .previous.document"].....["Backw |
4de0 | 61 72 64 22 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 62 61 63 6b 0a 20 20 20 20 20 3a 68 65 6c 70 | ard".nov-history-back......:help |
4e00 | 20 22 47 6f 20 62 61 63 6b 20 69 6e 20 74 68 65 20 68 69 73 74 6f 72 79 20 74 6f 20 74 68 65 20 | ."Go.back.in.the.history.to.the. |
4e20 | 6c 61 73 74 20 76 69 73 69 74 65 64 20 64 6f 63 75 6d 65 6e 74 22 5d 0a 20 20 20 20 5b 22 46 6f | last.visited.document"].....["Fo |
4e40 | 72 77 61 72 64 22 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 0a 20 20 20 20 20 | rward".nov-history-forward...... |
4e60 | 3a 68 65 6c 70 20 22 47 6f 20 66 6f 72 77 61 72 64 20 69 6e 20 74 68 65 20 68 69 73 74 6f 72 79 | :help."Go.forward.in.the.history |
4e80 | 20 6f 66 20 76 69 73 69 74 65 64 20 64 6f 63 75 6d 65 6e 74 73 22 5d 0a 20 20 20 20 5b 22 4e 65 | .of.visited.documents"].....["Ne |
4ea0 | 78 74 20 4c 69 6e 6b 22 20 73 68 72 2d 6e 65 78 74 2d 6c 69 6e 6b 0a 20 20 20 20 20 3a 68 65 6c | xt.Link".shr-next-link......:hel |
4ec0 | 70 20 22 47 6f 20 74 6f 20 74 68 65 20 6e 65 78 74 20 6c 69 6e 6b 22 5d 0a 20 20 20 20 5b 22 50 | p."Go.to.the.next.link"].....["P |
4ee0 | 72 65 76 69 6f 75 73 20 4c 69 6e 6b 22 20 73 68 72 2d 70 72 65 76 69 6f 75 73 2d 6c 69 6e 6b 0a | revious.Link".shr-previous-link. |
4f00 | 20 20 20 20 20 3a 6b 65 79 73 20 22 4d 2d 54 41 42 22 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 47 | .....:keys."M-TAB"......:help."G |
4f20 | 6f 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 6c 69 6e 6b 22 5d 0a 20 20 20 20 5b 22 54 | o.to.the.previous.link"].....["T |
4f40 | 61 62 6c 65 20 6f 66 20 43 6f 6e 74 65 6e 74 73 22 20 6e 6f 76 2d 67 6f 74 6f 2d 74 6f 63 0a 20 | able.of.Contents".nov-goto-toc.. |
4f60 | 20 20 20 20 3a 68 65 6c 70 20 22 44 69 73 70 6c 61 79 20 74 68 65 20 74 61 62 6c 65 20 6f 66 20 | ....:help."Display.the.table.of. |
4f80 | 63 6f 6e 74 65 6e 74 73 22 5d 0a 20 20 20 20 5b 22 52 65 64 69 73 70 6c 61 79 22 20 6e 6f 76 2d | contents"].....["Redisplay".nov- |
4fa0 | 72 65 6e 64 65 72 2d 64 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 52 65 64 69 | render-document......:help."Redi |
4fc0 | 73 70 6c 61 79 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 22 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 | splay.the.document"]....."---".. |
4fe0 | 20 20 20 5b 22 56 69 65 77 20 4d 65 74 61 64 61 74 61 22 20 6e 6f 76 2d 64 69 73 70 6c 61 79 2d | ...["View.Metadata".nov-display- |
5000 | 6d 65 74 61 64 61 74 61 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 56 69 65 77 20 74 68 65 20 6d 65 | metadata......:help."View.the.me |
5020 | 74 61 64 61 74 61 20 6f 66 20 74 68 65 20 45 50 55 42 20 64 6f 63 75 6d 65 6e 74 22 5d 0a 20 20 | tadata.of.the.EPUB.document"]... |
5040 | 20 20 5b 22 56 69 65 77 20 48 54 4d 4c 20 53 6f 75 72 63 65 22 20 6e 6f 76 2d 76 69 65 77 2d 73 | ..["View.HTML.Source".nov-view-s |
5060 | 6f 75 72 63 65 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 56 69 65 77 20 74 68 65 20 48 54 4d 4c 20 | ource......:help."View.the.HTML. |
5080 | 73 6f 75 72 63 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 6f 63 75 6d 65 6e 74 20 69 | source.of.the.current.document.i |
50a0 | 6e 20 61 20 6e 65 77 20 62 75 66 66 65 72 22 5d 0a 20 20 20 20 5b 22 56 69 65 77 20 4f 50 46 20 | n.a.new.buffer"].....["View.OPF. |
50c0 | 53 6f 75 72 63 65 22 20 6e 6f 76 2d 76 69 65 77 2d 63 6f 6e 74 65 6e 74 2d 73 6f 75 72 63 65 0a | Source".nov-view-content-source. |
50e0 | 20 20 20 20 20 3a 68 65 6c 70 20 22 56 69 65 77 20 74 68 65 20 4f 50 46 20 73 6f 75 72 63 65 20 | .....:help."View.the.OPF.source. |
5100 | 6f 66 20 74 68 65 20 45 50 55 42 20 64 6f 63 75 6d 65 6e 74 20 69 6e 20 61 20 6e 65 77 20 62 75 | of.the.EPUB.document.in.a.new.bu |
5120 | 66 66 65 72 22 5d 0a 20 20 20 20 5b 22 56 69 65 77 20 61 73 20 41 72 63 68 69 76 65 22 20 6e 6f | ffer"].....["View.as.Archive".no |
5140 | 76 2d 72 65 6f 70 65 6e 2d 61 73 2d 61 72 63 68 69 76 65 0a 20 20 20 20 20 3a 68 65 6c 70 20 22 | v-reopen-as-archive......:help." |
5160 | 52 65 6f 70 65 6e 20 74 68 65 20 45 50 55 42 20 64 6f 63 75 6d 65 6e 74 20 61 73 20 61 6e 20 61 | Reopen.the.EPUB.document.as.an.a |
5180 | 72 63 68 69 76 65 22 5d 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 20 | rchive"]))..(defun.nov-clean-up. |
51a0 | 28 29 0a 20 20 22 44 65 6c 65 74 65 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 73 20 6f 66 20 | ()..."Delete.temporary.files.of. |
51c0 | 74 68 65 20 63 75 72 72 65 6e 74 20 45 50 55 42 20 62 75 66 66 65 72 2e 22 0a 20 20 28 77 68 65 | the.current.EPUB.buffer."...(whe |
51e0 | 6e 20 28 61 6e 64 20 6e 6f 76 2d 72 65 6d 6f 76 65 2d 77 6f 72 6b 2d 64 69 72 2d 6f 6e 2d 65 78 | n.(and.nov-remove-work-dir-on-ex |
5200 | 69 74 2d 70 20 6e 6f 76 2d 77 6f 72 6b 2d 64 69 72 29 0a 20 20 20 20 28 6c 65 74 20 28 28 69 64 | it-p.nov-work-dir).....(let.((id |
5220 | 65 6e 74 69 66 69 65 72 20 28 63 64 72 20 28 61 73 73 71 20 27 69 64 65 6e 74 69 66 69 65 72 20 | entifier.(cdr.(assq.'identifier. |
5240 | 6e 6f 76 2d 6d 65 74 61 64 61 74 61 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 78 | nov-metadata)))...........(index |
5260 | 20 28 69 66 20 28 69 6e 74 65 67 65 72 70 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 | .(if.(integerp.nov-documents-ind |
5280 | 65 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 76 2d 64 6f 63 | ex)......................nov-doc |
52a0 | 75 6d 65 6e 74 73 2d 69 6e 64 65 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | uments-index.................... |
52c0 | 30 29 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 20 69 64 65 6e 74 | 0))).......(nov-save-place.ident |
52e0 | 69 66 69 65 72 20 69 6e 64 65 78 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 6e 6f 76 2d 69 | ifier.index.(point))).....(nov-i |
5300 | 67 6e 6f 72 65 2d 66 69 6c 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 28 64 65 6c 65 74 65 2d 64 | gnore-file-errors......(delete-d |
5320 | 69 72 65 63 74 6f 72 79 20 6e 6f 76 2d 77 6f 72 6b 2d 64 69 72 20 74 29 29 29 29 0a 0a 28 64 65 | irectory.nov-work-dir.t))))..(de |
5340 | 66 75 6e 20 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 2d 61 6c 6c 20 28 29 0a 20 20 22 44 65 6c 65 74 | fun.nov-clean-up-all.()..."Delet |
5360 | 65 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 73 20 6f 66 20 61 6c 6c 20 6f 70 65 6e 65 64 20 | e.temporary.files.of.all.opened. |
5380 | 45 50 55 42 20 62 75 66 66 65 72 73 2e 22 0a 20 20 28 64 6f 6c 69 73 74 20 28 62 75 66 66 65 72 | EPUB.buffers."...(dolist.(buffer |
53a0 | 20 28 62 75 66 66 65 72 2d 6c 69 73 74 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e | .(buffer-list)).....(with-curren |
53c0 | 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 | t-buffer.buffer.......(when.(eq. |
53e0 | 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 6e 6f 76 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 28 6e | major-mode.'nov-mode).........(n |
5400 | 6f 76 2d 63 6c 65 61 6e 2d 75 70 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 65 78 74 | ov-clean-up)))))..(defun.nov-ext |
5420 | 65 72 6e 61 6c 2d 75 72 6c 2d 70 20 28 75 72 6c 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 | ernal-url-p.(url)..."Return.t.if |
5440 | 20 55 52 4c 20 72 65 66 65 72 73 20 74 6f 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 64 6f 63 75 6d | .URL.refers.to.an.external.docum |
5460 | 65 6e 74 2e 22 0a 20 20 28 61 6e 64 20 28 75 72 6c 2d 74 79 70 65 20 28 75 72 6c 2d 67 65 6e 65 | ent."...(and.(url-type.(url-gene |
5480 | 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 75 72 6c 29 29 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 | ric-parse-url.url)).t))..(defun. |
54a0 | 6e 6f 76 2d 75 72 6c 2d 66 69 6c 65 6e 61 6d 65 2d 61 6e 64 2d 74 61 72 67 65 74 20 28 75 72 6c | nov-url-filename-and-target.(url |
54c0 | 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 55 52 4c 27 73 20 66 69 6c 65 | )..."Return.a.list.of.URL's.file |
54e0 | 6e 61 6d 65 20 61 6e 64 20 74 61 72 67 65 74 2e 22 0a 20 20 28 73 65 74 71 20 75 72 6c 20 28 75 | name.and.target."...(setq.url.(u |
5500 | 72 6c 2d 67 65 6e 65 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20 75 72 6c 29 29 0a 20 20 28 6d 61 | rl-generic-parse-url.url))...(ma |
5520 | 70 63 61 72 20 27 6e 6f 76 2d 75 72 6c 64 65 63 6f 64 65 20 28 6c 69 73 74 20 28 75 72 6c 2d 66 | pcar.'nov-urldecode.(list.(url-f |
5540 | 69 6c 65 6e 61 6d 65 20 75 72 6c 29 20 28 75 72 6c 2d 74 61 72 67 65 74 20 75 72 6c 29 29 29 29 | ilename.url).(url-target.url)))) |
5560 | 0a 0a 3b 3b 20 61 64 61 70 74 65 64 20 66 72 6f 6d 20 60 73 68 72 2d 72 65 73 63 61 6c 65 2d 69 | ..;;.adapted.from.`shr-rescale-i |
5580 | 6d 61 67 65 27 0a 3b 3b 20 54 4f 44 4f 3a 20 61 64 6a 75 73 74 20 74 6f 20 6c 61 74 65 73 74 20 | mage'.;;.TODO:.adjust.to.latest. |
55a0 | 73 68 72 20 63 6f 64 65 20 28 77 68 69 63 68 20 61 64 64 65 64 20 7a 6f 6f 6d 69 6e 67 20 73 75 | shr.code.(which.added.zooming.su |
55c0 | 70 70 6f 72 74 29 0a 3b 3b 20 54 4f 44 4f 3a 20 73 75 70 70 6f 72 74 20 77 69 64 74 68 2f 68 65 | pport).;;.TODO:.support.width/he |
55e0 | 69 67 68 74 20 61 73 20 73 75 70 70 6c 69 65 64 20 69 6e 20 69 6d 67 2f 69 6d 61 67 65 2f 73 76 | ight.as.supplied.in.img/image/sv |
5600 | 67 20 61 74 74 72 69 62 75 74 65 73 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 69 6e 73 65 72 74 2d 69 | g.attributes.(defun.nov-insert-i |
5620 | 6d 61 67 65 20 28 70 61 74 68 20 61 6c 74 29 0a 20 20 22 49 6e 73 65 72 74 20 61 6e 20 69 6d 61 | mage.(path.alt)..."Insert.an.ima |
5640 | 67 65 20 66 6f 72 20 50 41 54 48 20 61 74 20 70 6f 69 6e 74 2c 20 66 61 6c 6c 69 6e 67 20 62 61 | ge.for.PATH.at.point,.falling.ba |
5660 | 63 6b 20 74 6f 20 41 4c 54 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 68 6f 6e 6f 72 73 20 | ck.to.ALT..This.function.honors. |
5680 | 60 73 68 72 2d 6d 61 78 2d 69 6d 61 67 65 2d 70 72 6f 70 6f 72 74 69 6f 6e 27 20 69 66 20 70 6f | `shr-max-image-proportion'.if.po |
56a0 | 73 73 69 62 6c 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 79 70 65 20 28 69 66 20 28 6f 72 20 28 | ssible."...(let.((type.(if.(or.( |
56c0 | 61 6e 64 20 28 66 62 6f 75 6e 64 70 20 27 69 6d 61 67 65 2d 74 72 61 6e 73 66 6f 72 6d 73 2d 70 | and.(fboundp.'image-transforms-p |
56e0 | 29 20 28 69 6d 61 67 65 2d 74 72 61 6e 73 66 6f 72 6d 73 2d 70 29 29 0a 20 20 20 20 20 20 20 20 | ).(image-transforms-p))......... |
5700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 66 62 6f 75 6e 64 70 20 27 69 6d 61 | ..............(not.(fboundp.'ima |
5720 | 67 65 6d 61 67 69 63 6b 2d 74 79 70 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | gemagick-types)))............... |
5740 | 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6d 61 67 65 6d 61 | ....nil.................'imagema |
5760 | 67 69 63 6b 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 64 69 73 70 6c 61 79 2d 67 72 | gick))).....(if.(not.(display-gr |
5780 | 61 70 68 69 63 2d 70 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 61 6c 74 29 0a 20 | aphic-p)).........(insert.alt).. |
57a0 | 20 20 20 20 20 28 73 65 71 2d 6c 65 74 20 28 78 31 20 79 31 20 78 32 20 79 32 29 20 28 77 69 6e | .....(seq-let.(x1.y1.x2.y2).(win |
57c0 | 64 6f 77 2d 69 6e 73 69 64 65 2d 70 69 78 65 6c 2d 65 64 67 65 73 0a 20 20 20 20 20 20 20 20 20 | dow-inside-pixel-edges.......... |
57e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 62 75 66 66 65 72 | .....................(get-buffer |
5800 | 2d 77 69 6e 64 6f 77 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 | -window.(current-buffer)))...... |
5820 | 20 20 20 28 6c 65 74 20 28 28 69 6d 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ...(let.((image................; |
5840 | 3b 20 60 63 72 65 61 74 65 2d 69 6d 61 67 65 27 20 65 72 72 6f 72 73 20 6f 75 74 20 66 6f 72 20 | ;.`create-image'.errors.out.for. |
5860 | 75 6e 73 75 70 70 6f 72 74 65 64 20 69 6d 61 67 65 20 74 79 70 65 73 0a 20 20 20 20 20 20 20 20 | unsupported.image.types......... |
5880 | 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 | .......(ignore-errors........... |
58a0 | 20 20 20 20 20 20 20 28 63 72 65 61 74 65 2d 69 6d 61 67 65 20 70 61 74 68 20 74 79 70 65 20 6e | .......(create-image.path.type.n |
58c0 | 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | il.............................. |
58e0 | 20 20 3a 61 73 63 65 6e 74 20 31 30 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..:ascent.100................... |
5900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6d 61 78 2d 77 69 64 74 68 20 28 74 72 75 6e 63 61 74 | .............:max-width.(truncat |
5920 | 65 20 28 2a 20 73 68 72 2d 6d 61 78 2d 69 6d 61 67 65 2d 70 72 6f 70 6f 72 74 69 6f 6e 0a 20 20 | e.(*.shr-max-image-proportion... |
5940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
5960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 78 32 20 78 31 29 29 29 | .....................(-.x2.x1))) |
5980 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
59a0 | 3a 6d 61 78 2d 68 65 69 67 68 74 20 28 74 72 75 6e 63 61 74 65 20 28 2a 20 73 68 72 2d 6d 61 78 | :max-height.(truncate.(*.shr-max |
59c0 | 2d 69 6d 61 67 65 2d 70 72 6f 70 6f 72 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -image-proportion............... |
59e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
5a00 | 20 20 20 20 20 20 20 20 20 20 28 2d 20 79 32 20 79 31 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 | ..........(-.y2.y1)))))))....... |
5a20 | 20 20 20 20 28 69 66 20 69 6d 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 | ....(if.image...............(ins |
5a40 | 65 72 74 2d 69 6d 61 67 65 20 69 6d 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e | ert-image.image).............(in |
5a60 | 73 65 72 74 20 61 6c 74 29 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 6e 6f 76 2d 6f 72 69 | sert.alt)))))))..(defvar.nov-ori |
5a80 | 67 69 6e 61 6c 2d 73 68 72 2d 74 61 67 2d 69 6d 67 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 28 73 79 | ginal-shr-tag-img-function...(sy |
5aa0 | 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 27 73 68 72 2d 74 61 67 2d 69 6d 67 29 29 0a 0a 28 64 | mbol-function.'shr-tag-img))..(d |
5ac0 | 65 66 75 6e 20 6e 6f 76 2d 72 65 6e 64 65 72 2d 69 6d 67 20 28 64 6f 6d 20 26 6f 70 74 69 6f 6e | efun.nov-render-img.(dom.&option |
5ae0 | 61 6c 20 75 72 6c 29 0a 20 20 22 43 75 73 74 6f 6d 20 3c 69 6d 67 3e 20 72 65 6e 64 65 72 69 6e | al.url)..."Custom.<img>.renderin |
5b00 | 67 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 44 4f 4d 2e 0a 55 73 65 73 20 60 73 68 72 2d 74 61 | g.function.for.DOM..Uses.`shr-ta |
5b20 | 67 2d 69 6d 67 27 20 66 6f 72 20 65 78 74 65 72 6e 61 6c 20 70 61 74 68 73 20 61 6e 64 20 60 6e | g-img'.for.external.paths.and.`n |
5b40 | 6f 76 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 27 20 66 6f 72 0a 69 6e 74 65 72 6e 61 6c 20 6f 6e | ov-insert-image'.for.internal.on |
5b60 | 65 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 75 72 6c 20 28 6f 72 20 75 72 6c 20 28 63 64 72 20 28 | es."...(let.((url.(or.url.(cdr.( |
5b80 | 61 73 73 71 20 27 73 72 63 20 28 63 61 64 72 20 64 6f 6d 29 29 29 29 29 0a 20 20 20 20 20 20 20 | assq.'src.(cadr.dom)))))........ |
5ba0 | 20 28 61 6c 74 20 28 6f 72 20 28 63 64 72 20 28 61 73 73 71 20 27 61 6c 74 20 28 63 61 64 72 20 | .(alt.(or.(cdr.(assq.'alt.(cadr. |
5bc0 | 64 6f 6d 29 29 29 20 22 22 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 76 2d 65 78 74 65 72 6e | dom))).""))).....(if.(nov-extern |
5be0 | 61 6c 2d 75 72 6c 2d 70 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 48 41 43 4b 3a 20 61 | al-url-p.url).........;;.HACK:.a |
5c00 | 76 6f 69 64 20 68 61 6e 67 69 6e 67 20 69 6e 20 61 6e 20 69 6e 66 69 6e 69 74 65 20 6c 6f 6f 70 | void.hanging.in.an.infinite.loop |
5c20 | 20 77 68 65 6e 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 3b 3b 20 60 63 6c 2d 6c 65 74 66 27 | .when.using.........;;.`cl-letf' |
5c40 | 20 74 6f 20 6f 76 65 72 72 69 64 65 20 60 73 68 72 2d 74 61 67 2d 69 6d 67 27 20 77 69 74 68 20 | .to.override.`shr-tag-img'.with. |
5c60 | 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 3b 3b 20 6d 69 67 68 74 | a.function.that.........;;.might |
5c80 | 20 63 61 6c 6c 20 60 73 68 72 2d 74 61 67 2d 69 6d 67 27 20 61 67 61 69 6e 0a 20 20 20 20 20 20 | .call.`shr-tag-img'.again....... |
5ca0 | 20 20 28 66 75 6e 63 61 6c 6c 20 6e 6f 76 2d 6f 72 69 67 69 6e 61 6c 2d 73 68 72 2d 74 61 67 2d | ..(funcall.nov-original-shr-tag- |
5cc0 | 69 6d 67 2d 66 75 6e 63 74 69 6f 6e 20 64 6f 6d 20 75 72 6c 29 0a 20 20 20 20 20 20 28 73 65 74 | img-function.dom.url).......(set |
5ce0 | 71 20 75 72 6c 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 6e 6f 76 2d 75 72 6c | q.url.(expand-file-name.(nov-url |
5d00 | 64 65 63 6f 64 65 20 75 72 6c 29 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 69 6e 73 65 72 74 2d | decode.url))).......(nov-insert- |
5d20 | 69 6d 61 67 65 20 75 72 6c 20 61 6c 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 2d 72 | image.url.alt))))..(defun.nov--r |
5d40 | 65 6e 64 65 72 2d 69 6d 61 67 65 20 28 64 6f 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 75 72 6c 29 0a | ender-image.(dom.&optional.url). |
5d60 | 20 20 28 6c 65 74 20 28 28 69 6d 67 2d 74 61 67 20 28 64 6f 6d 2d 6e 6f 64 65 20 27 69 6d 67 0a | ..(let.((img-tag.(dom-node.'img. |
5d80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6d 2d | ...........................(dom- |
5da0 | 61 74 74 72 69 62 75 74 65 73 20 64 6f 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | attributes.dom)................. |
5dc0 | 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6d 2d 63 68 69 6c 64 72 65 6e 20 64 6f 6d 29 29 29 29 | ...........(dom-children.dom)))) |
5de0 | 0a 20 20 20 20 28 6e 6f 76 2d 72 65 6e 64 65 72 2d 69 6d 67 20 69 6d 67 2d 74 61 67 20 75 72 6c | .....(nov-render-img.img-tag.url |
5e00 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 72 65 6e 64 65 72 2d 73 76 67 20 28 64 6f 6d 29 | )))..(defun.nov-render-svg.(dom) |
5e20 | 0a 20 20 22 43 75 73 74 6f 6d 20 3c 73 76 67 3e 20 72 65 6e 64 65 72 69 6e 67 20 66 75 6e 63 74 | ..."Custom.<svg>.rendering.funct |
5e40 | 69 6f 6e 20 66 6f 72 20 44 4f 4d 2e 0a 49 66 20 74 68 65 20 53 56 47 20 65 6c 65 6d 65 6e 74 20 | ion.for.DOM..If.the.SVG.element. |
5e60 | 6f 6e 6c 79 20 63 6f 6e 74 61 69 6e 73 20 3c 69 6d 61 67 65 3e 20 74 61 67 73 20 77 69 74 68 20 | only.contains.<image>.tags.with. |
5e80 | 61 6e 20 69 6e 74 65 72 6e 61 6c 0a 55 52 4c 2c 20 69 6e 73 65 72 74 20 65 61 63 68 20 69 6d 61 | an.internal.URL,.insert.each.ima |
5ea0 | 67 65 20 77 69 74 68 20 60 6e 6f 76 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 27 2e 20 4f 74 68 65 | ge.with.`nov-insert-image'..Othe |
5ec0 | 72 77 69 73 65 2c 20 66 61 6c 6c 0a 62 61 63 6b 20 74 6f 20 72 65 67 75 6c 61 72 20 3c 69 6d 67 | rwise,.fall.back.to.regular.<img |
5ee0 | 3e 20 72 65 6e 64 65 72 69 6e 67 20 76 69 61 20 60 6e 6f 76 2d 72 65 6e 64 65 72 2d 69 6d 67 27 | >.rendering.via.`nov-render-img' |
5f00 | 20 28 66 6f 72 0a 65 78 74 65 72 6e 61 6c 20 55 52 4c 73 29 20 6f 72 20 72 65 67 75 6c 61 72 20 | .(for.external.URLs).or.regular. |
5f20 | 53 56 47 20 72 65 6e 64 65 72 69 6e 67 20 76 69 61 20 60 73 68 72 2d 74 61 67 2d 73 76 67 27 2e | SVG.rendering.via.`shr-tag-svg'. |
5f40 | 22 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 69 6d 61 67 65 2d 74 79 70 65 2d 61 76 61 69 6c | "...(when.(and.(image-type-avail |
5f60 | 61 62 6c 65 2d 70 20 27 73 76 67 29 0a 09 20 20 20 20 20 28 6e 6f 74 20 73 68 72 2d 69 6e 68 69 | able-p.'svg).......(not.shr-inhi |
5f80 | 62 69 74 2d 69 6d 61 67 65 73 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 63 68 69 6c 64 72 65 6e | bit-images)).....(let.((children |
5fa0 | 20 28 64 6f 6d 2d 63 68 69 6c 64 72 65 6e 20 64 6f 6d 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 | .(dom-children.dom))).......(if. |
5fc0 | 28 73 65 71 2d 65 76 65 72 79 2d 70 20 28 6c 61 6d 62 64 61 20 28 63 68 69 6c 64 29 20 28 65 71 | (seq-every-p.(lambda.(child).(eq |
5fe0 | 20 28 64 6f 6d 2d 74 61 67 20 63 68 69 6c 64 29 20 27 69 6d 61 67 65 29 29 20 63 68 69 6c 64 72 | .(dom-tag.child).'image)).childr |
6000 | 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 69 6d 61 67 65 2d 74 61 67 | en)...........(dolist.(image-tag |
6020 | 20 63 68 69 6c 64 72 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 75 72 | .children).............(let.((ur |
6040 | 6c 20 28 6f 72 20 28 64 6f 6d 2d 61 74 74 72 20 69 6d 61 67 65 2d 74 61 67 20 27 68 72 65 66 29 | l.(or.(dom-attr.image-tag.'href) |
6060 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6d | ............................(dom |
6080 | 2d 61 74 74 72 20 69 6d 61 67 65 2d 74 61 67 20 27 78 6c 69 6e 6b 3a 68 72 65 66 29 29 29 29 0a | -attr.image-tag.'xlink:href)))). |
60a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 76 2d 65 78 74 65 72 6e 61 6c 2d | ..............(if.(nov-external- |
60c0 | 75 72 6c 2d 70 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f | url-p.url)...................(no |
60e0 | 76 2d 2d 72 65 6e 64 65 72 2d 69 6d 61 67 65 20 64 6f 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 | v--render-image.dom)............ |
6100 | 20 20 20 20 20 28 6e 6f 76 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 0a 20 20 20 20 20 20 20 20 20 | .....(nov-insert-image.......... |
6120 | 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 6e 6f 76 2d 75 | ........(expand-file-name.(nov-u |
6140 | 72 6c 64 65 63 6f 64 65 20 75 72 6c 29 29 20 22 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 | rldecode.url))."")))).........(s |
6160 | 68 72 2d 74 61 67 2d 73 76 67 20 64 6f 6d 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d | hr-tag-svg.dom)))))..(defun.nov- |
6180 | 72 65 6e 64 65 72 2d 74 69 74 6c 65 20 28 64 6f 6d 29 0a 20 20 22 43 75 73 74 6f 6d 20 3c 74 69 | render-title.(dom)..."Custom.<ti |
61a0 | 74 6c 65 3e 20 72 65 6e 64 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 44 4f 4d 2e | tle>.rendering.function.for.DOM. |
61c0 | 0a 53 65 74 73 20 60 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 27 20 61 63 63 6f 72 | .Sets.`header-line-format'.accor |
61e0 | 64 69 6e 67 20 74 6f 20 60 6e 6f 76 2d 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 27 | ding.to.`nov-header-line-format' |
6200 | 2e 22 0a 20 20 28 73 65 74 71 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 0a 09 28 | ."...(setq.header-line-format..( |
6220 | 61 6e 64 20 6e 6f 76 2d 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 0a 09 20 20 20 20 | and.nov-header-line-format...... |
6240 | 20 28 6c 65 74 20 28 28 74 69 74 6c 65 20 28 63 64 72 20 28 61 73 73 71 20 27 74 69 74 6c 65 20 | .(let.((title.(cdr.(assq.'title. |
6260 | 6e 6f 76 2d 6d 65 74 61 64 61 74 61 29 29 29 0a 09 09 20 20 20 28 63 68 61 70 74 65 72 2d 74 69 | nov-metadata)))......(chapter-ti |
6280 | 74 6c 65 20 28 63 61 72 20 28 64 6f 6d 2d 63 68 69 6c 64 72 65 6e 20 64 6f 6d 29 29 29 29 0a 09 | tle.(car.(dom-children.dom)))).. |
62a0 | 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 63 68 61 70 74 65 72 2d 74 69 74 6c 65 29 | .......(when.(not.chapter-title) |
62c0 | 0a 09 09 20 28 73 65 74 71 20 63 68 61 70 74 65 72 2d 74 69 74 6c 65 20 28 70 72 6f 70 65 72 74 | ....(setq.chapter-title.(propert |
62e0 | 69 7a 65 20 22 4e 6f 20 74 69 74 6c 65 22 20 27 66 61 63 65 20 27 69 74 61 6c 69 63 29 29 29 0a | ize."No.title".'face.'italic))). |
6300 | 09 20 20 20 20 20 20 20 3b 3b 20 74 68 69 73 20 73 68 6f 75 6c 64 6e 27 74 20 68 61 70 70 65 6e | ........;;.this.shouldn't.happen |
6320 | 20 66 6f 72 20 70 72 6f 70 65 72 6c 79 20 61 75 74 68 6f 72 65 64 20 45 50 55 42 73 0a 09 20 20 | .for.properly.authored.EPUBs.... |
6340 | 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 74 69 74 6c 65 29 0a 09 09 20 28 73 65 74 71 20 | .....(when.(not.title)....(setq. |
6360 | 74 69 74 6c 65 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 4e 6f 20 74 69 74 6c 65 22 20 27 66 61 | title.(propertize."No.title".'fa |
6380 | 63 65 20 27 69 74 61 6c 69 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 | ce.'italic)))................(re |
63a0 | 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 | place-regexp-in-string.......... |
63c0 | 20 20 20 20 20 20 20 22 25 22 20 22 25 25 22 0a 09 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 | ......."%"."%%"..........(format |
63e0 | 2d 73 70 65 63 0a 09 09 20 6e 6f 76 2d 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 0a | -spec....nov-header-line-format. |
6400 | 09 09 20 60 28 28 3f 63 20 2e 20 2c 63 68 61 70 74 65 72 2d 74 69 74 6c 65 29 0a 09 09 20 20 20 | ...`((?c...,chapter-title)...... |
6420 | 28 3f 74 20 2e 20 2c 74 69 74 6c 65 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 6e 6f | (?t...,title))))))))..(defvar.no |
6440 | 76 2d 73 68 72 2d 72 65 6e 64 65 72 69 6e 67 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 27 28 3b 3b | v-shr-rendering-functions...'(;; |
6460 | 20 64 65 66 61 75 6c 74 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 73 20 75 72 6c 2d 72 65 74 72 69 | .default.function.uses.url-retri |
6480 | 65 76 65 20 61 6e 64 20 66 61 69 6c 73 20 6f 6e 20 6c 6f 63 61 6c 20 69 6d 61 67 65 73 0a 20 20 | eve.and.fails.on.local.images... |
64a0 | 20 20 28 69 6d 67 20 2e 20 6e 6f 76 2d 72 65 6e 64 65 72 2d 69 6d 67 29 0a 20 20 20 20 3b 3b 20 | ..(img...nov-render-img).....;;. |
64c0 | 6c 69 6b 65 77 69 73 65 2c 20 62 75 74 20 66 6f 72 20 53 56 47 20 74 61 67 73 20 63 6f 6e 74 61 | likewise,.but.for.SVG.tags.conta |
64e0 | 69 6e 69 6e 67 20 6c 6f 63 61 6c 20 69 6d 61 67 65 73 0a 20 20 20 20 28 73 76 67 20 2e 20 6e 6f | ining.local.images.....(svg...no |
6500 | 76 2d 72 65 6e 64 65 72 2d 73 76 67 29 0a 20 20 20 20 3b 3b 20 74 69 74 6c 65 73 20 61 72 65 20 | v-render-svg).....;;.titles.are. |
6520 | 72 65 6e 64 65 72 65 64 20 2a 69 6e 73 69 64 65 2a 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 62 | rendered.*inside*.the.document.b |
6540 | 79 20 64 65 66 61 75 6c 74 0a 20 20 20 20 28 74 69 74 6c 65 20 2e 20 6e 6f 76 2d 72 65 6e 64 65 | y.default.....(title...nov-rende |
6560 | 72 2d 74 69 74 6c 65 29 29 0a 20 20 22 41 6c 69 73 74 20 6f 66 20 72 65 6e 64 65 72 69 6e 67 20 | r-title))..."Alist.of.rendering. |
6580 | 66 75 6e 63 74 69 6f 6e 73 20 75 73 65 64 20 77 69 74 68 20 60 73 68 72 2d 72 65 6e 64 65 72 2d | functions.used.with.`shr-render- |
65a0 | 72 65 67 69 6f 6e 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 66 69 6c 6c 2d 6c 69 6e 65 | region'.")..(defun.nov-fill-line |
65c0 | 20 28 29 0a 20 20 22 4c 69 6b 65 20 60 73 68 72 2d 66 69 6c 6c 2d 6c 69 6e 65 27 2c 20 62 75 74 | .()..."Like.`shr-fill-line',.but |
65e0 | 20 6f 6e 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 69 6e 64 65 6e 74 61 74 69 6f 6e 2e 0a 54 6f | .only.performing.indentation..To |
6600 | 20 62 65 20 75 73 65 64 20 77 68 65 6e 20 60 6e 6f 76 2d 74 65 78 74 2d 77 69 64 74 68 27 20 69 | .be.used.when.`nov-text-width'.i |
6620 | 73 20 73 65 74 20 74 6f 20 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 68 72 2d 69 6e 64 65 6e 74 | s.set.to.t."...(let.((shr-indent |
6640 | 61 74 69 6f 6e 20 28 6f 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f | ation.(or.(get-text-property.(po |
6660 | 69 6e 74 29 20 27 73 68 72 2d 69 6e 64 65 6e 74 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 | int).'shr-indentation).......... |
6680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68 72 2d 69 6e 64 65 6e 74 61 74 | ....................shr-indentat |
66a0 | 69 6f 6e 29 29 29 0a 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 | ion))).....(put-text-property.(p |
66c0 | 6f 69 6e 74 29 20 28 31 2b 20 28 70 6f 69 6e 74 29 29 20 27 73 68 72 2d 69 6e 64 65 6e 74 61 74 | oint).(1+.(point)).'shr-indentat |
66e0 | 69 6f 6e 20 6e 69 6c 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 61 63 65 20 28 67 65 74 2d 74 65 | ion.nil).....(let.((face.(get-te |
6700 | 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 66 61 63 65 29 29 0a 09 20 20 28 | xt-property.(point).'face))....( |
6720 | 62 61 63 6b 67 72 6f 75 6e 64 2d 73 74 61 72 74 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 | background-start.(point)))...... |
6740 | 20 28 73 68 72 2d 69 6e 64 65 6e 74 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 66 61 63 65 0a 09 | .(shr-indent).......(when.face.. |
6760 | 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 61 63 6b 67 72 6f 75 6e 64 2d 73 74 | (put-text-property.background-st |
6780 | 61 72 74 20 28 70 6f 69 6e 74 29 20 27 66 61 63 65 0a 09 09 09 20 20 20 60 2c 28 73 68 72 2d 66 | art.(point).'face.......`,(shr-f |
67a0 | 61 63 65 2d 62 61 63 6b 67 72 6f 75 6e 64 20 66 61 63 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 | ace-background.face))))))..(defu |
67c0 | 6e 20 6e 6f 76 2d 72 65 6e 64 65 72 2d 68 74 6d 6c 20 28 29 0a 20 20 22 52 65 6e 64 65 72 20 48 | n.nov-render-html.()..."Render.H |
67e0 | 54 4d 4c 20 69 6e 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 77 69 74 68 20 73 68 72 2e 22 | TML.in.current.buffer.with.shr." |
6800 | 0a 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 6e 6f 76 2d 70 72 65 2d 68 74 6d 6c 2d 72 65 6e 64 | ...(run-hooks.'nov-pre-html-rend |
6820 | 65 72 2d 68 6f 6f 6b 29 0a 20 20 28 6c 65 74 20 28 3b 3b 20 48 41 43 4b 3a 20 6d 61 6b 65 20 62 | er-hook)...(let.(;;.HACK:.make.b |
6840 | 75 74 74 6f 6e 73 20 75 73 65 20 6f 75 72 20 6f 77 6e 20 63 6f 6d 6d 61 6e 64 73 0a 20 20 20 20 | uttons.use.our.own.commands..... |
6860 | 20 20 20 20 28 73 68 72 2d 6d 61 70 20 6e 6f 76 2d 62 75 74 74 6f 6e 2d 6d 61 70 29 0a 20 20 20 | ....(shr-map.nov-button-map).... |
6880 | 20 20 20 20 20 28 73 68 72 2d 65 78 74 65 72 6e 61 6c 2d 72 65 6e 64 65 72 69 6e 67 2d 66 75 6e | .....(shr-external-rendering-fun |
68a0 | 63 74 69 6f 6e 73 20 6e 6f 76 2d 73 68 72 2d 72 65 6e 64 65 72 69 6e 67 2d 66 75 6e 63 74 69 6f | ctions.nov-shr-rendering-functio |
68c0 | 6e 73 29 0a 20 20 20 20 20 20 20 20 28 73 68 72 2d 75 73 65 2d 66 6f 6e 74 73 20 6e 6f 76 2d 76 | ns).........(shr-use-fonts.nov-v |
68e0 | 61 72 69 61 62 6c 65 2d 70 69 74 63 68 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 48 41 43 4b 3a 20 | ariable-pitch).........;;.HACK:. |
6900 | 70 72 65 73 65 72 76 65 20 60 74 72 75 6e 63 61 74 65 2d 6c 69 6e 65 73 27 20 66 6f 72 20 60 76 | preserve.`truncate-lines'.for.`v |
6920 | 69 73 75 61 6c 2d 6c 69 6e 65 2d 6d 6f 64 65 27 20 74 6f 0a 20 20 20 20 20 20 20 20 3b 3b 20 77 | isual-line-mode'.to.........;;.w |
6940 | 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79 20 61 66 74 65 72 20 61 20 74 61 62 6c 65 20 68 61 73 20 | ork.correctly.after.a.table.has. |
6960 | 62 65 65 6e 20 72 65 6e 64 65 72 65 64 2e 2e 2e 0a 20 20 20 20 20 20 20 20 28 74 72 75 6e 63 61 | been.rendered............(trunca |
6980 | 74 65 2d 6c 69 6e 65 73 20 74 72 75 6e 63 61 74 65 2d 6c 69 6e 65 73 29 29 0a 20 20 20 20 3b 3b | te-lines.truncate-lines)).....;; |
69a0 | 20 48 41 43 4b 3a 20 60 73 68 72 2d 65 78 74 65 72 6e 61 6c 2d 72 65 6e 64 65 72 69 6e 67 2d 66 | .HACK:.`shr-external-rendering-f |
69c0 | 75 6e 63 74 69 6f 6e 73 27 20 64 6f 65 73 6e 27 74 20 63 6f 76 65 72 0a 20 20 20 20 3b 3b 20 65 | unctions'.doesn't.cover.....;;.e |
69e0 | 76 65 72 79 20 75 73 61 67 65 20 6f 66 20 60 73 68 72 2d 74 61 67 2d 69 6d 67 27 0a 20 20 20 20 | very.usage.of.`shr-tag-img'..... |
6a00 | 28 63 6c 2d 6c 65 74 66 20 28 28 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 27 73 68 72 | (cl-letf.(((symbol-function.'shr |
6a20 | 2d 74 61 67 2d 69 6d 67 29 20 27 6e 6f 76 2d 72 65 6e 64 65 72 2d 69 6d 67 29 29 0a 20 20 20 20 | -tag-img).'nov-render-img))..... |
6a40 | 20 20 28 69 66 20 28 65 71 20 6e 6f 76 2d 74 65 78 74 2d 77 69 64 74 68 20 74 29 0a 20 20 20 20 | ..(if.(eq.nov-text-width.t)..... |
6a60 | 20 20 20 20 20 20 28 63 6c 2d 6c 65 74 66 20 28 28 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f | ......(cl-letf.(((symbol-functio |
6a80 | 6e 20 27 73 68 72 2d 66 69 6c 6c 2d 6c 69 6e 65 29 20 23 27 6e 6f 76 2d 66 69 6c 6c 2d 6c 69 6e | n.'shr-fill-line).#'nov-fill-lin |
6aa0 | 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 72 2d 72 65 6e 64 65 72 2d 72 65 67 69 | e)).............(shr-render-regi |
6ac0 | 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 | on.(point-min).(point-max))).... |
6ae0 | 20 20 20 20 20 28 6c 65 74 20 28 28 73 68 72 2d 77 69 64 74 68 20 6e 6f 76 2d 74 65 78 74 2d 77 | .....(let.((shr-width.nov-text-w |
6b00 | 69 64 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 68 72 2d 72 65 6e 64 65 72 2d 72 65 67 | idth))...........(shr-render-reg |
6b20 | 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 29 | ion.(point-min).(point-max)))))) |
6b40 | 0a 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 6e 6f 76 2d 70 6f 73 74 2d 68 74 6d 6c 2d 72 65 6e | ...(run-hooks.'nov-post-html-ren |
6b60 | 64 65 72 2d 68 6f 6f 6b 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 72 65 6e 64 65 72 2d 64 6f | der-hook))..(defun.nov-render-do |
6b80 | 63 75 6d 65 6e 74 20 28 29 0a 20 20 22 52 65 6e 64 65 72 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 | cument.()..."Render.the.document |
6ba0 | 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 60 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e | .referenced.by.`nov-documents-in |
6bc0 | 64 65 78 27 2e 0a 49 66 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 70 61 74 68 20 72 65 66 65 72 | dex'..If.the.document.path.refer |
6be0 | 73 20 74 6f 20 61 6e 20 69 6d 61 67 65 20 28 61 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 0a | s.to.an.image.(as.determined.by. |
6c00 | 60 69 6d 61 67 65 2d 74 79 70 65 2d 66 69 6c 65 2d 6e 61 6d 65 2d 72 65 67 65 78 70 73 27 29 2c | `image-type-file-name-regexps'), |
6c20 | 20 61 6e 20 69 6d 61 67 65 20 69 73 20 69 6e 73 65 72 74 65 64 2c 20 6f 74 68 65 72 77 69 73 65 | .an.image.is.inserted,.otherwise |
6c40 | 0a 74 68 65 20 48 54 4d 4c 20 69 73 20 72 65 6e 64 65 72 65 64 20 77 69 74 68 20 60 6e 6f 76 2d | .the.HTML.is.rendered.with.`nov- |
6c60 | 72 65 6e 64 65 72 2d 68 74 6d 6c 2d 66 75 6e 63 74 69 6f 6e 27 2e 22 0a 20 20 28 69 6e 74 65 72 | render-html-function'."...(inter |
6c80 | 61 63 74 69 76 65 29 0a 20 20 28 73 65 71 2d 6c 65 74 20 28 69 64 20 26 72 65 73 74 20 70 61 74 | active)...(seq-let.(id.&rest.pat |
6ca0 | 68 29 20 28 61 72 65 66 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 20 6e 6f 76 2d 64 6f 63 75 6d | h).(aref.nov-documents.nov-docum |
6cc0 | 65 6e 74 73 2d 69 6e 64 65 78 29 0a 20 20 20 20 28 6c 65 74 20 28 3b 3b 20 48 41 43 4b 3a 20 74 | ents-index).....(let.(;;.HACK:.t |
6ce0 | 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 6c 6f 6f 6b 65 64 20 75 70 20 69 6e 20 74 68 65 20 6d | his.should.be.looked.up.in.the.m |
6d00 | 61 6e 69 66 65 73 74 0a 20 20 20 20 20 20 20 20 20 20 28 69 6d 61 67 65 70 20 28 73 65 71 2d 66 | anifest...........(imagep.(seq-f |
6d20 | 69 6e 64 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 | ind.(lambda.(item).(string-match |
6d40 | 2d 70 20 28 63 61 72 20 69 74 65 6d 29 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | -p.(car.item).path))............ |
6d60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6d 61 67 65 2d 74 79 70 65 2d 66 69 6c 65 | .................image-type-file |
6d80 | 2d 6e 61 6d 65 2d 72 65 67 65 78 70 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4e 4f 54 | -name-regexps))...........;;.NOT |
6da0 | 45 3a 20 61 6c 6c 6f 77 73 20 72 65 73 6f 6c 76 69 6e 67 20 69 6d 61 67 65 20 72 65 66 65 72 65 | E:.allows.resolving.image.refere |
6dc0 | 6e 63 65 73 20 63 6f 72 72 65 63 74 6c 79 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 61 75 6c | nces.correctly...........(defaul |
6de0 | 74 2d 64 69 72 65 63 74 6f 72 79 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 | t-directory.(file-name-directory |
6e00 | 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e | .path))...........buffer-read-on |
6e20 | 6c 79 29 0a 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 0a 20 20 20 20 20 20 | ly).......(erase-buffer)........ |
6e40 | 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 28 69 6d 61 67 65 70 0a 20 20 20 20 20 20 20 20 28 6e 6f | (cond........(imagep.........(no |
6e60 | 76 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 70 61 74 68 20 22 22 29 29 0a 20 20 20 20 20 20 20 | v-insert-image.path.""))........ |
6e80 | 28 28 61 6e 64 20 28 76 65 72 73 69 6f 6e 3c 20 6e 6f 76 2d 65 70 75 62 2d 76 65 72 73 69 6f 6e | ((and.(version<.nov-epub-version |
6ea0 | 20 22 33 2e 30 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 69 64 20 6e 6f 76 2d | ."3.0")..............(eq.id.nov- |
6ec0 | 74 6f 63 2d 69 64 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 6e 6f 76 2d 6e 63 | toc-id)).........(insert.(nov-nc |
6ee0 | 78 2d 74 6f 2d 68 74 6d 6c 20 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 | x-to-html.path)))........(t..... |
6f00 | 20 20 20 20 28 69 6e 73 65 72 74 20 28 6e 6f 76 2d 73 6c 75 72 70 20 70 61 74 68 29 29 29 29 0a | ....(insert.(nov-slurp.path)))). |
6f20 | 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 69 6d 61 67 65 70 29 0a 20 20 20 20 20 20 | .......(when.(not.imagep)....... |
6f40 | 20 20 28 66 75 6e 63 61 6c 6c 20 6e 6f 76 2d 72 65 6e 64 65 72 2d 68 74 6d 6c 2d 66 75 6e 63 74 | ..(funcall.nov-render-html-funct |
6f60 | 69 6f 6e 29 29 0a 20 20 20 20 20 20 3b 3b 20 4e 4f 54 45 3a 20 74 68 69 73 20 69 73 20 68 6f 77 | ion)).......;;.NOTE:.this.is.how |
6f80 | 20 64 6f 63 2d 76 69 65 77 20 61 76 6f 69 64 73 20 6f 76 65 72 77 72 69 74 69 6e 67 20 74 68 65 | .doc-view.avoids.overwriting.the |
6fa0 | 20 66 69 6c 65 0a 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 | .file.......(set-buffer-modified |
6fc0 | 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d | -p.nil).......(goto-char.(point- |
6fe0 | 6d 69 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 66 69 6e 64 2d 64 6f 63 75 6d 65 | min)))))..(defun.nov-find-docume |
7000 | 6e 74 20 28 70 72 65 64 69 63 61 74 65 29 0a 20 20 22 52 65 74 75 72 6e 20 66 69 72 73 74 20 69 | nt.(predicate)..."Return.first.i |
7020 | 74 65 6d 20 69 6e 20 60 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 27 20 50 52 45 44 49 43 41 54 45 | tem.in.`nov-documents'.PREDICATE |
7040 | 20 69 73 20 74 72 75 65 20 66 6f 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 20 30 29 0a 20 20 20 | .is.true.for."...(let.((i.0).... |
7060 | 20 20 20 20 20 64 6f 6e 65 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 6e 6f 74 20 | .....done).....(while.(and.(not. |
7080 | 64 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 69 20 28 6c 65 6e 67 | done).................(<.i.(leng |
70a0 | 74 68 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 | th.nov-documents))).......(when. |
70c0 | 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 69 63 61 74 65 20 28 61 72 65 66 20 6e 6f 76 2d 64 6f 63 | (funcall.predicate.(aref.nov-doc |
70e0 | 75 6d 65 6e 74 73 20 69 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6f 6e 65 20 74 29 | uments.i)).........(setq.done.t) |
7100 | 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 69 29 29 29 0a 20 20 20 20 28 77 68 | ).......(setq.i.(1+.i))).....(wh |
7120 | 65 6e 20 64 6f 6e 65 0a 20 20 20 20 20 20 28 31 2d 20 69 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | en.done.......(1-.i))))..(defun. |
7140 | 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 28 69 6e 64 65 78 29 0a 20 20 22 47 6f 20 | nov-goto-document.(index)..."Go. |
7160 | 74 6f 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 64 65 6e 6f 74 65 64 20 62 79 20 49 4e 44 45 58 | to.the.document.denoted.by.INDEX |
7180 | 2e 22 0a 20 20 28 6c 65 74 20 28 28 68 69 73 74 6f 72 79 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 | ."...(let.((history.(cons.(list. |
71a0 | 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 | nov-documents-index.(point)).... |
71c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 76 2d 68 69 73 74 6f 72 79 29 | ....................nov-history) |
71e0 | 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 | )).....(setq.nov-documents-index |
7200 | 20 69 6e 64 65 78 29 0a 20 20 20 20 28 6e 6f 76 2d 72 65 6e 64 65 72 2d 64 6f 63 75 6d 65 6e 74 | .index).....(nov-render-document |
7220 | 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 68 69 73 74 6f 72 79 20 68 69 73 74 6f 72 79 29 | ).....(setq.nov-history.history) |
7240 | 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 67 6f 74 6f 2d 74 6f 63 20 28 29 0a 20 20 22 47 6f | ))..(defun.nov-goto-toc.()..."Go |
7260 | 20 74 6f 20 74 68 65 20 54 4f 43 20 69 6e 64 65 78 20 61 6e 64 20 72 65 6e 64 65 72 20 74 68 65 | .to.the.TOC.index.and.render.the |
7280 | 20 54 4f 43 20 64 6f 63 75 6d 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a | .TOC.document."...(interactive). |
72a0 | 20 20 28 6c 65 74 20 28 28 69 6e 64 65 78 20 28 6e 6f 76 2d 66 69 6e 64 2d 64 6f 63 75 6d 65 6e | ..(let.((index.(nov-find-documen |
72c0 | 74 20 28 6c 61 6d 62 64 61 20 28 64 6f 63 29 20 28 65 71 20 28 63 61 72 20 64 6f 63 29 20 6e 6f | t.(lambda.(doc).(eq.(car.doc).no |
72e0 | 76 2d 74 6f 63 2d 69 64 29 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 69 6e 64 | v-toc-id))))).....(when.(not.ind |
7300 | 65 78 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 43 6f 75 6c 64 6e 27 74 20 6c 6f 63 61 74 | ex).......(error."Couldn't.locat |
7320 | 65 20 54 4f 43 22 29 29 0a 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 | e.TOC")).....(nov-goto-document. |
7340 | 69 6e 64 65 78 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 76 69 65 77 2d 73 6f 75 72 63 65 | index)))..(defun.nov-view-source |
7360 | 20 28 29 0a 20 20 22 56 69 65 77 20 74 68 65 20 73 6f 75 72 63 65 20 6f 66 20 74 68 65 20 63 75 | .()..."View.the.source.of.the.cu |
7380 | 72 72 65 6e 74 20 64 6f 63 75 6d 65 6e 74 20 69 6e 20 61 20 6e 65 77 20 62 75 66 66 65 72 2e 22 | rrent.document.in.a.new.buffer." |
73a0 | 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 28 63 | ...(interactive)...(find-file.(c |
73c0 | 64 72 20 28 61 72 65 66 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 20 6e 6f 76 2d 64 6f 63 75 6d | dr.(aref.nov-documents.nov-docum |
73e0 | 65 6e 74 73 2d 69 6e 64 65 78 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 76 69 65 77 2d | ents-index))))..(defun.nov-view- |
7400 | 63 6f 6e 74 65 6e 74 2d 73 6f 75 72 63 65 20 28 29 0a 20 20 22 56 69 65 77 20 74 68 65 20 73 6f | content-source.()..."View.the.so |
7420 | 75 72 63 65 20 6f 66 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 66 69 6c 65 20 69 6e 20 61 20 6e 65 | urce.of.the.content.file.in.a.ne |
7440 | 77 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 66 69 | w.buffer."...(interactive)...(fi |
7460 | 6e 64 2d 66 69 6c 65 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 29 29 0a 0a 28 64 65 66 | nd-file.nov-content-file))..(def |
7480 | 75 6e 20 6e 6f 76 2d 72 65 6f 70 65 6e 2d 61 73 2d 61 72 63 68 69 76 65 20 28 29 0a 20 20 22 52 | un.nov-reopen-as-archive.()..."R |
74a0 | 65 6f 70 65 6e 20 74 68 65 20 45 50 55 42 20 64 6f 63 75 6d 65 6e 74 20 75 73 69 6e 67 20 60 61 | eopen.the.EPUB.document.using.`a |
74c0 | 72 63 68 69 76 65 2d 6d 6f 64 65 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 | rchive-mode'."...(interactive).. |
74e0 | 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 66 69 6e 64 2d 66 69 6c 65 | .(with-current-buffer.(find-file |
7500 | 2d 6c 69 74 65 72 61 6c 6c 79 20 6e 6f 76 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 28 61 | -literally.nov-file-name).....(a |
7520 | 72 63 68 69 76 65 2d 6d 6f 64 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 64 69 73 70 6c | rchive-mode)))..(defun.nov-displ |
7540 | 61 79 2d 6d 65 74 61 64 61 74 61 20 28 29 0a 20 20 22 56 69 65 77 20 74 68 65 20 6d 65 74 61 64 | ay-metadata.()..."View.the.metad |
7560 | 61 74 61 20 6f 66 20 74 68 65 20 45 50 55 42 20 64 6f 63 75 6d 65 6e 74 20 69 6e 20 61 20 6e 65 | ata.of.the.EPUB.document.in.a.ne |
7580 | 77 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 | w.buffer."...(interactive)...(le |
75a0 | 74 20 28 28 62 75 66 66 65 72 20 22 2a 45 50 55 42 20 6d 65 74 61 64 61 74 61 2a 22 29 0a 20 20 | t.((buffer."*EPUB.metadata*")... |
75c0 | 20 20 20 20 20 20 28 6d 65 74 61 64 61 74 61 20 6e 6f 76 2d 6d 65 74 61 64 61 74 61 29 0a 20 20 | ......(metadata.nov-metadata)... |
75e0 | 20 20 20 20 20 20 28 76 65 72 73 69 6f 6e 20 6e 6f 76 2d 65 70 75 62 2d 76 65 72 73 69 6f 6e 29 | ......(version.nov-epub-version) |
7600 | 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 67 65 74 2d | ).....(with-current-buffer.(get- |
7620 | 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 28 73 70 65 | buffer-create.buffer).......(spe |
7640 | 63 69 61 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 62 75 66 66 65 72 2d 72 65 | cial-mode).......(let.(buffer-re |
7660 | 61 64 2d 6f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a | ad-only).........(erase-buffer). |
7680 | 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 45 50 55 42 20 56 65 | ........(insert.(format."EPUB.Ve |
76a0 | 72 73 69 6f 6e 3a 20 25 73 5c 6e 22 20 76 65 72 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 28 | rsion:.%s\n".version)).........( |
76c0 | 64 6f 6c 69 73 74 20 28 69 74 65 6d 20 6d 65 74 61 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 | dolist.(item.metadata).......... |
76e0 | 20 28 73 65 71 2d 6c 65 74 20 28 6b 65 79 20 26 72 65 73 74 20 76 61 6c 75 65 29 20 69 74 65 6d | .(seq-let.(key.&rest.value).item |
7700 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 25 73 | .............(insert.(format."%s |
7720 | 3a 20 22 20 28 63 61 70 69 74 61 6c 69 7a 65 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6b 65 79 | :.".(capitalize.(symbol-name.key |
7740 | 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 76 61 6c 75 65 0a 20 20 20 20 20 | )))).............(if.value...... |
7760 | 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 6b 65 79 20 27 64 65 73 63 72 69 70 74 | ...........(if.(eq.key.'descript |
7780 | 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 | ion).....................(let.(( |
77a0 | 62 65 67 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | beg.(point)))................... |
77c0 | 20 20 20 20 28 69 6e 73 65 72 74 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....(insert.value).............. |
77e0 | 20 20 20 20 20 20 20 20 20 28 73 68 72 2d 72 65 6e 64 65 72 2d 72 65 67 69 6f 6e 20 62 65 67 20 | .........(shr-render-region.beg. |
7800 | 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 | (point)))...................(ins |
7820 | 65 72 74 20 28 66 6f 72 6d 61 74 20 22 25 73 22 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 20 20 | ert.(format."%s".value)))....... |
7840 | 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 4e 6f 6e | ........(insert.(propertize."Non |
7860 | 65 22 20 27 66 61 63 65 20 27 69 74 61 6c 69 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | e".'face.'italic)))............. |
7880 | 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 | (insert."\n"))).........(goto-ch |
78a0 | 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 29 0a 20 20 20 20 28 70 6f 70 2d 74 6f 2d 62 75 | ar.(point-min)))).....(pop-to-bu |
78c0 | 66 66 65 72 20 62 75 66 66 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6e 65 78 74 2d | ffer.buffer)))..(defun.nov-next- |
78e0 | 64 6f 63 75 6d 65 6e 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 75 6e 74 29 0a 20 20 22 47 6f | document.(&optional.count)..."Go |
7900 | 20 74 6f 20 74 68 65 20 6e 65 78 74 20 64 6f 63 75 6d 65 6e 74 20 61 6e 64 20 72 65 6e 64 65 72 | .to.the.next.document.and.render |
7920 | 20 69 74 2e 0a 54 61 6b 65 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 43 4f 55 4e 54 2c 20 67 6f | .it..Takes.an.optional.COUNT,.go |
7940 | 65 73 20 62 61 63 6b 77 61 72 64 20 69 66 20 43 4f 55 4e 54 20 69 73 20 6e 65 67 61 74 69 76 65 | es.backward.if.COUNT.is.negative |
7960 | 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 6e 6f 76 2d 67 6f | ."...(interactive."p")...(nov-go |
7980 | 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 28 6d 69 6e 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 6e 6f 76 | to-document.(min.(1-.(length.nov |
79a0 | 2d 64 6f 63 75 6d 65 6e 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -documents)).................... |
79c0 | 20 20 20 20 20 20 20 28 2b 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 28 6f | .......(+.nov-documents-index.(o |
79e0 | 72 20 63 6f 75 6e 74 20 31 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 70 72 65 76 69 | r.count.1)))))..(defun.nov-previ |
7a00 | 6f 75 73 2d 64 6f 63 75 6d 65 6e 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 75 6e 74 29 0a 20 | ous-document.(&optional.count).. |
7a20 | 20 22 47 6f 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 64 6f 63 75 6d 65 6e 74 20 61 6e | ."Go.to.the.previous.document.an |
7a40 | 64 20 72 65 6e 64 65 72 20 69 74 2e 0a 54 61 6b 65 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 43 | d.render.it..Takes.an.optional.C |
7a60 | 4f 55 4e 54 2c 20 67 6f 65 73 20 66 6f 72 77 61 72 64 20 69 66 20 43 4f 55 4e 54 20 69 73 20 6e | OUNT,.goes.forward.if.COUNT.is.n |
7a80 | 65 67 61 74 69 76 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 | egative."...(interactive."p")... |
7aa0 | 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 28 6d 61 78 20 30 20 28 2d 20 6e 6f 76 | (nov-goto-document.(max.0.(-.nov |
7ac0 | 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 28 6f 72 20 63 6f 75 6e 74 20 31 29 29 29 29 | -documents-index.(or.count.1)))) |
7ae0 | 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 73 63 72 6f 6c 6c 2d 75 70 20 28 61 72 67 29 0a 20 20 | )..(defun.nov-scroll-up.(arg)... |
7b00 | 22 53 63 72 6f 6c 6c 20 77 69 74 68 20 60 73 63 72 6f 6c 6c 2d 75 70 27 20 6f 72 20 76 69 73 69 | "Scroll.with.`scroll-up'.or.visi |
7b20 | 74 20 6e 65 78 74 20 63 68 61 70 74 65 72 20 69 66 20 61 74 20 62 6f 74 74 6f 6d 2e 22 0a 20 20 | t.next.chapter.if.at.bottom."... |
7b40 | 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 69 66 20 28 3e 3d 20 28 77 69 6e | (interactive."P")...(if.(>=.(win |
7b60 | 64 6f 77 2d 65 6e 64 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 | dow-end).(point-max)).......(nov |
7b80 | 2d 6e 65 78 74 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 20 28 73 63 72 6f 6c 6c 2d 75 70 20 61 | -next-document).....(scroll-up.a |
7ba0 | 72 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 73 63 72 6f 6c 6c 2d 64 6f 77 6e 20 28 61 | rg)))..(defun.nov-scroll-down.(a |
7bc0 | 72 67 29 0a 20 20 22 53 63 72 6f 6c 6c 20 77 69 74 68 20 60 73 63 72 6f 6c 6c 2d 64 6f 77 6e 27 | rg)..."Scroll.with.`scroll-down' |
7be0 | 20 6f 72 20 76 69 73 69 74 20 70 72 65 76 69 6f 75 73 20 63 68 61 70 74 65 72 20 69 66 20 61 74 | .or.visit.previous.chapter.if.at |
7c00 | 20 74 6f 70 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 69 66 | .top."...(interactive."P")...(if |
7c20 | 20 28 61 6e 64 20 28 3c 3d 20 28 77 69 6e 64 6f 77 2d 73 74 61 72 74 29 20 28 70 6f 69 6e 74 2d | .(and.(<=.(window-start).(point- |
7c40 | 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 | min))............(>.nov-document |
7c60 | 73 2d 69 6e 64 65 78 20 30 29 29 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 | s-index.0)).......(progn........ |
7c80 | 20 28 6e 6f 76 2d 70 72 65 76 69 6f 75 73 2d 64 6f 63 75 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 | .(nov-previous-document)........ |
7ca0 | 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 28 73 | .(goto-char.(point-max))).....(s |
7cc0 | 63 72 6f 6c 6c 2d 64 6f 77 6e 20 61 72 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 76 69 | croll-down.arg)))..(defun.nov-vi |
7ce0 | 73 69 74 2d 72 65 6c 61 74 69 76 65 2d 66 69 6c 65 20 28 66 69 6c 65 6e 61 6d 65 20 74 61 72 67 | sit-relative-file.(filename.targ |
7d00 | 65 74 29 0a 20 20 22 56 69 73 69 74 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 61 73 20 73 70 65 | et)..."Visit.the.document.as.spe |
7d20 | 63 69 66 69 65 64 20 62 79 20 46 49 4c 45 4e 41 4d 45 20 61 6e 64 20 54 41 52 47 45 54 2e 22 0a | cified.by.FILENAME.and.TARGET.". |
7d40 | 20 20 28 6c 65 74 20 28 69 6e 64 65 78 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 7a | ..(let.(index).....(when.(not.(z |
7d60 | 65 72 6f 70 20 28 6c 65 6e 67 74 68 20 66 69 6c 65 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 28 | erop.(length.filename))).......( |
7d80 | 6c 65 74 2a 20 28 28 63 75 72 72 65 6e 74 2d 70 61 74 68 20 28 63 64 72 20 28 61 72 65 66 20 6e | let*.((current-path.(cdr.(aref.n |
7da0 | 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 | ov-documents.nov-documents-index |
7dc0 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 63 74 6f 72 79 20 28 66 69 6c | )))..............(directory.(fil |
7de0 | 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 63 75 72 72 65 6e 74 2d 70 61 74 68 29 29 0a | e-name-directory.current-path)). |
7e00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 74 68 20 28 66 69 6c 65 2d 74 72 75 65 6e 61 6d | .............(path.(file-truenam |
7e20 | 65 20 28 6e 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 20 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 6e | e.(nov-make-path.directory.filen |
7e40 | 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 6e 6f 76 2d | ame)))..............(match.(nov- |
7e60 | 66 69 6e 64 2d 64 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | find-document................... |
7e80 | 20 20 20 28 6c 61 6d 62 64 61 20 28 64 6f 63 29 20 28 65 71 75 61 6c 20 70 61 74 68 20 28 66 69 | ...(lambda.(doc).(equal.path.(fi |
7ea0 | 6c 65 2d 74 72 75 65 6e 61 6d 65 20 28 63 64 72 20 64 6f 63 29 29 29 29 29 29 29 0a 20 20 20 20 | le-truename.(cdr.doc)))))))..... |
7ec0 | 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 | ....(when.(not.match)........... |
7ee0 | 28 65 72 72 6f 72 20 22 43 6f 75 6c 64 6e 27 74 20 6c 6f 63 61 74 65 20 64 6f 63 75 6d 65 6e 74 | (error."Couldn't.locate.document |
7f00 | 22 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 6e 64 65 78 20 6d 61 74 63 68 29 29 29 | ")).........(setq.index.match))) |
7f20 | 0a 20 20 20 20 3b 3b 20 48 41 43 4b 3a 20 74 68 69 73 20 62 69 6e 64 69 6e 67 20 69 73 20 6f 6e | .....;;.HACK:.this.binding.is.on |
7f40 | 6c 79 20 6e 65 65 64 20 66 6f 72 20 45 6d 61 63 73 20 32 37 2e 31 20 61 6e 64 20 6f 6c 64 65 72 | ly.need.for.Emacs.27.1.and.older |
7f60 | 2c 20 61 73 20 6f 66 0a 20 20 20 20 3b 3b 20 45 6d 61 63 73 20 32 38 2e 31 2c 20 73 68 72 2e 65 | ,.as.of.....;;.Emacs.28.1,.shr.e |
7f80 | 6c 20 61 6c 77 61 79 73 20 61 64 64 73 20 74 68 65 20 73 68 72 2d 74 61 72 67 65 74 2d 69 64 20 | l.always.adds.the.shr-target-id. |
7fa0 | 70 72 6f 70 65 72 74 79 0a 20 20 20 20 28 6c 65 74 20 28 28 73 68 72 2d 74 61 72 67 65 74 2d 69 | property.....(let.((shr-target-i |
7fc0 | 64 20 74 61 72 67 65 74 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d | d.target)).......(nov-goto-docum |
7fe0 | 65 6e 74 20 28 6f 72 20 69 6e 64 65 78 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 | ent.(or.index.nov-documents-inde |
8000 | 78 29 29 29 29 0a 20 20 28 77 68 65 6e 20 74 61 72 67 65 74 0a 20 20 20 20 28 6c 65 74 20 28 28 | x))))...(when.target.....(let.(( |
8020 | 70 6f 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 64 6f 6e 65 29 | pos.(point-min))...........done) |
8040 | 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 6e 6f 74 20 64 6f 6e 65 29 0a 20 20 | .......(while.(and.(not.done)... |
8060 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 28 6e 65 78 74 2d | ................(setq.pos.(next- |
8080 | 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 70 6f 73 20 27 73 68 72 2d | single-property-change.pos.'shr- |
80a0 | 74 61 72 67 65 74 2d 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 6f 70 | target-id))).........(let.((prop |
80c0 | 65 72 74 79 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 27 73 68 72 | erty.(get-text-property.pos.'shr |
80e0 | 2d 74 61 72 67 65 74 2d 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f | -target-id)))...........(when.(o |
8100 | 72 20 28 65 71 75 61 6c 20 70 72 6f 70 65 72 74 79 20 74 61 72 67 65 74 29 0a 20 20 20 20 20 20 | r.(equal.property.target)....... |
8120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4e 4f 54 45 3a 20 61 73 20 6f 66 20 45 6d 61 | ..............;;.NOTE:.as.of.Ema |
8140 | 63 73 20 32 38 2e 31 20 74 68 69 73 20 6d 61 79 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 74 61 | cs.28.1.this.may.be.a.list.of.ta |
8160 | 72 67 65 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 | rgets.....................(and.( |
8180 | 63 6f 6e 73 70 20 70 72 6f 70 65 72 74 79 29 20 28 6d 65 6d 62 65 72 20 74 61 72 67 65 74 20 70 | consp.property).(member.target.p |
81a0 | 72 6f 70 65 72 74 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 | roperty))).............(goto-cha |
81c0 | 72 20 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 63 65 6e 74 65 72 20 28 31 2d | r.pos).............(recenter.(1- |
81e0 | 20 28 6d 61 78 20 31 20 73 63 72 6f 6c 6c 2d 6d 61 72 67 69 6e 29 29 29 0a 20 20 20 20 20 20 20 | .(max.1.scroll-margin)))........ |
8200 | 20 20 20 20 20 28 73 65 74 71 20 64 6f 6e 65 20 74 29 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 | .....(setq.done.t)))).......(whe |
8220 | 6e 20 28 6e 6f 74 20 64 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 43 6f 75 | n.(not.done).........(error."Cou |
8240 | 6c 64 6e 27 74 20 6c 6f 63 61 74 65 20 74 61 72 67 65 74 22 29 29 29 29 29 0a 0a 3b 3b 20 61 64 | ldn't.locate.target")))))..;;.ad |
8260 | 61 70 74 65 64 20 66 72 6f 6d 20 60 73 68 72 2d 62 72 6f 77 73 65 2d 75 72 6c 27 0a 28 64 65 66 | apted.from.`shr-browse-url'.(def |
8280 | 75 6e 20 6e 6f 76 2d 62 72 6f 77 73 65 2d 75 72 6c 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6d 6f 75 | un.nov-browse-url.(&optional.mou |
82a0 | 73 65 2d 65 76 65 6e 74 29 0a 20 20 22 46 6f 6c 6c 6f 77 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 | se-event)..."Follow.an.external. |
82c0 | 75 72 6c 20 77 69 74 68 20 60 62 72 6f 77 73 65 2d 75 72 6c 27 2e 0a 49 6e 74 65 72 6e 61 6c 20 | url.with.`browse-url'..Internal. |
82e0 | 55 52 4c 73 20 61 72 65 20 76 69 73 69 74 65 64 20 77 69 74 68 20 60 6e 6f 76 2d 76 69 73 69 74 | URLs.are.visited.with.`nov-visit |
8300 | 2d 72 65 6c 61 74 69 76 65 2d 66 69 6c 65 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 | -relative-file'."...(interactive |
8320 | 20 28 6c 69 73 74 20 6c 61 73 74 2d 6e 6f 6e 6d 65 6e 75 2d 65 76 65 6e 74 29 29 0a 20 20 28 6d | .(list.last-nonmenu-event))...(m |
8340 | 6f 75 73 65 2d 73 65 74 2d 70 6f 69 6e 74 20 6d 6f 75 73 65 2d 65 76 65 6e 74 29 0a 20 20 28 6c | ouse-set-point.mouse-event)...(l |
8360 | 65 74 20 28 28 75 72 6c 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 | et.((url.(get-text-property.(poi |
8380 | 6e 74 29 20 27 73 68 72 2d 75 72 6c 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 75 | nt).'shr-url))).....(when.(not.u |
83a0 | 72 6c 29 0a 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 6c 69 6e 6b 20 75 | rl).......(user-error."No.link.u |
83c0 | 6e 64 65 72 20 70 6f 69 6e 74 22 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 76 2d 65 78 74 65 72 | nder.point")).....(if.(nov-exter |
83e0 | 6e 61 6c 2d 75 72 6c 2d 70 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 28 62 72 6f 77 73 65 2d 75 | nal-url-p.url).........(browse-u |
8400 | 72 6c 20 75 72 6c 29 0a 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 6e 6f 76 2d 76 69 73 69 74 2d | rl.url).......(apply.'nov-visit- |
8420 | 72 65 6c 61 74 69 76 65 2d 66 69 6c 65 20 28 6e 6f 76 2d 75 72 6c 2d 66 69 6c 65 6e 61 6d 65 2d | relative-file.(nov-url-filename- |
8440 | 61 6e 64 2d 74 61 72 67 65 74 20 75 72 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d | and-target.url)))))..(defun.nov- |
8460 | 63 6f 70 79 2d 75 72 6c 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6d 6f 75 73 65 2d 65 76 65 6e 74 29 | copy-url.(&optional.mouse-event) |
8480 | 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 6c 61 73 74 2d 6e 6f 6e 6d 65 | ...(interactive.(list.last-nonme |
84a0 | 6e 75 2d 65 76 65 6e 74 29 29 0a 20 20 28 6d 6f 75 73 65 2d 73 65 74 2d 70 6f 69 6e 74 20 6d 6f | nu-event))...(mouse-set-point.mo |
84c0 | 75 73 65 2d 65 76 65 6e 74 29 0a 20 20 28 6c 65 74 20 28 28 75 72 6c 20 28 67 65 74 2d 74 65 78 | use-event)...(let.((url.(get-tex |
84e0 | 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 73 68 72 2d 75 72 6c 29 29 29 0a 20 | t-property.(point).'shr-url))).. |
8500 | 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 75 72 6c 29 0a 20 20 20 20 20 20 28 75 73 65 72 2d 65 | ...(when.(not.url).......(user-e |
8520 | 72 72 6f 72 20 22 4e 6f 20 6c 69 6e 6b 20 75 6e 64 65 72 20 70 6f 69 6e 74 22 29 29 0a 20 20 20 | rror."No.link.under.point")).... |
8540 | 20 28 6b 69 6c 6c 2d 6e 65 77 20 75 72 6c 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 | .(kill-new.url).....(message."%s |
8560 | 22 20 75 72 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 73 61 76 65 64 2d 70 6c 61 63 65 | ".url)))..(defun.nov-saved-place |
8580 | 73 20 28 29 0a 20 20 22 52 65 74 72 69 65 76 65 20 73 61 76 65 64 20 70 6c 61 63 65 73 20 69 6e | s.()..."Retrieve.saved.places.in |
85a0 | 20 60 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 27 2e 22 0a 20 20 28 77 68 65 6e | .`nov-save-place-file'."...(when |
85c0 | 20 28 61 6e 64 20 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 20 28 66 69 6c 65 2d | .(and.nov-save-place-file.(file- |
85e0 | 65 78 69 73 74 73 2d 70 20 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 29 29 0a 20 | exists-p.nov-save-place-file)).. |
8600 | 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 69 6e 73 65 | ...(with-temp-buffer.......(inse |
8620 | 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 2d 6c 69 74 65 72 61 6c 6c 79 20 6e 6f 76 2d 73 | rt-file-contents-literally.nov-s |
8640 | 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 | ave-place-file).......(goto-char |
8660 | 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 | .(point-min)).......(condition-c |
8680 | 61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 | ase.nil...........(read.(current |
86a0 | 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 0a 20 20 20 20 20 20 20 | -buffer)).........(error........ |
86c0 | 20 20 28 6e 6f 76 2d 77 61 72 6e 20 22 46 61 69 6c 65 64 20 74 6f 20 72 65 74 72 69 65 76 65 20 | ..(nov-warn."Failed.to.retrieve. |
86e0 | 73 61 76 65 64 20 70 6c 61 63 65 73 20 66 72 6f 6d 20 60 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 | saved.places.from.`nov-save-plac |
8700 | 65 2d 66 69 6c 65 27 22 29 0a 20 20 20 20 20 20 20 20 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 | e-file'")..........nil)))))..(de |
8720 | 66 75 6e 20 6e 6f 76 2d 73 61 76 65 64 2d 70 6c 61 63 65 20 28 69 64 65 6e 74 69 66 69 65 72 29 | fun.nov-saved-place.(identifier) |
8740 | 0a 20 20 22 52 65 74 72 69 65 76 65 20 73 61 76 65 64 20 70 6c 61 63 65 20 66 6f 72 20 49 44 45 | ..."Retrieve.saved.place.for.IDE |
8760 | 4e 54 49 46 49 45 52 20 69 6e 20 60 6e 6f 76 2d 73 61 76 65 64 2d 70 6c 61 63 65 2d 66 69 6c 65 | NTIFIER.in.`nov-saved-place-file |
8780 | 27 2e 22 0a 20 20 28 63 64 72 20 28 61 73 73 71 20 69 64 65 6e 74 69 66 69 65 72 20 28 6e 6f 76 | '."...(cdr.(assq.identifier.(nov |
87a0 | 2d 73 61 76 65 64 2d 70 6c 61 63 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 73 61 | -saved-places))))..(defun.nov-sa |
87c0 | 76 65 2d 70 6c 61 63 65 20 28 69 64 65 6e 74 69 66 69 65 72 20 69 6e 64 65 78 20 70 6f 69 6e 74 | ve-place.(identifier.index.point |
87e0 | 29 0a 20 20 22 53 61 76 65 20 70 6c 61 63 65 20 61 73 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 | )..."Save.place.as.identified.by |
8800 | 20 49 44 45 4e 54 49 46 49 45 52 2c 20 49 4e 44 45 58 20 61 6e 64 20 50 4f 49 4e 54 2e 0a 53 61 | .IDENTIFIER,.INDEX.and.POINT..Sa |
8820 | 76 69 6e 67 20 69 73 20 6f 6e 6c 79 20 64 6f 6e 65 20 69 66 20 60 6e 6f 76 2d 73 61 76 65 2d 70 | ving.is.only.done.if.`nov-save-p |
8840 | 6c 61 63 65 2d 66 69 6c 65 27 20 69 73 20 73 65 74 2e 22 0a 20 20 28 77 68 65 6e 20 6e 6f 76 2d | lace-file'.is.set."...(when.nov- |
8860 | 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 70 6c 61 63 | save-place-file.....(let*.((plac |
8880 | 65 20 60 28 2c 69 64 65 6e 74 69 66 69 65 72 20 28 69 6e 64 65 78 20 2e 20 2c 69 6e 64 65 78 29 | e.`(,identifier.(index...,index) |
88a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
88c0 | 20 28 70 6f 69 6e 74 20 2e 20 2c 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 | .(point...,point)))............( |
88e0 | 70 6c 61 63 65 73 20 28 63 6f 6e 73 20 70 6c 61 63 65 20 28 61 73 73 71 2d 64 65 6c 65 74 65 2d | places.(cons.place.(assq-delete- |
8900 | 61 6c 6c 20 69 64 65 6e 74 69 66 69 65 72 20 28 6e 6f 76 2d 73 61 76 65 64 2d 70 6c 61 63 65 73 | all.identifier.(nov-saved-places |
8920 | 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 2d 6c 65 76 65 6c 0a 20 20 20 20 | ))))............print-level..... |
8940 | 20 20 20 20 20 20 20 70 72 69 6e 74 2d 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 28 77 69 74 68 | .......print-length).......(with |
8960 | 2d 74 65 6d 70 2d 66 69 6c 65 20 6e 6f 76 2d 73 61 76 65 2d 70 6c 61 63 65 2d 66 69 6c 65 0a 20 | -temp-file.nov-save-place-file.. |
8980 | 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 | .......(insert.(prin1-to-string. |
89a0 | 70 6c 61 63 65 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 2d 69 6e 64 65 78 2d | places))))))..(defun.nov--index- |
89c0 | 76 61 6c 69 64 2d 70 20 28 64 6f 63 75 6d 65 6e 74 73 20 69 6e 64 65 78 29 0a 20 20 28 61 6e 64 | valid-p.(documents.index)...(and |
89e0 | 20 28 69 6e 74 65 67 65 72 70 20 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 3e 3d 20 69 6e 64 | .(integerp.index)........(>=.ind |
8a00 | 65 78 20 30 29 0a 20 20 20 20 20 20 20 28 3c 20 69 6e 64 65 78 20 28 6c 65 6e 67 74 68 20 64 6f | ex.0)........(<.index.(length.do |
8a20 | 63 75 6d 65 6e 74 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d | cuments))))..(defun.nov-history- |
8a40 | 62 61 63 6b 20 28 29 0a 20 20 22 47 6f 20 62 61 63 6b 20 69 6e 20 74 68 65 20 68 69 73 74 6f 72 | back.()..."Go.back.in.the.histor |
8a60 | 79 20 74 6f 20 74 68 65 20 6c 61 73 74 20 76 69 73 69 74 65 64 20 64 6f 63 75 6d 65 6e 74 2e 22 | y.to.the.last.visited.document." |
8a80 | 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6f 72 20 6e 6f 76 2d 68 69 73 74 6f | ...(interactive)...(or.nov-histo |
8aa0 | 72 79 0a 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 54 68 69 73 20 69 73 20 74 68 | ry.......(user-error."This.is.th |
8ac0 | 65 20 66 69 72 73 74 20 64 6f 63 75 6d 65 6e 74 20 79 6f 75 20 6c 6f 6f 6b 65 64 20 61 74 22 29 | e.first.document.you.looked.at") |
8ae0 | 29 0a 20 20 28 6c 65 74 20 28 28 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 28 63 6f 6e 73 | )...(let.((history-forward.(cons |
8b00 | 20 28 6c 69 73 74 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 28 70 6f 69 6e | .(list.nov-documents-index.(poin |
8b20 | 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t))............................. |
8b40 | 20 20 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 29 29 29 0a 20 20 20 20 28 73 | ...nov-history-forward))).....(s |
8b60 | 65 71 2d 6c 65 74 20 28 69 6e 64 65 78 20 6f 70 6f 69 6e 74 29 20 28 63 61 72 20 6e 6f 76 2d 68 | eq-let.(index.opoint).(car.nov-h |
8b80 | 69 73 74 6f 72 79 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 68 69 73 74 6f 72 79 20 | istory).......(setq.nov-history. |
8ba0 | 28 63 64 72 20 6e 6f 76 2d 68 69 73 74 6f 72 79 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 67 6f | (cdr.nov-history)).......(nov-go |
8bc0 | 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 69 6e 64 65 78 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e | to-document.index).......(setq.n |
8be0 | 6f 76 2d 68 69 73 74 6f 72 79 20 28 63 64 72 20 6e 6f 76 2d 68 69 73 74 6f 72 79 29 29 0a 20 20 | ov-history.(cdr.nov-history))... |
8c00 | 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 68 69 | ....(setq.nov-history-forward.hi |
8c20 | 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 | story-forward).......(goto-char. |
8c40 | 6f 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 28 72 65 63 65 6e 74 65 72 20 28 31 2d 20 28 6d 61 78 | opoint).......(recenter.(1-.(max |
8c60 | 20 31 20 73 63 72 6f 6c 6c 2d 6d 61 72 67 69 6e 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e | .1.scroll-margin))))))..(defun.n |
8c80 | 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 28 29 0a 20 20 22 47 6f 20 66 6f 72 77 | ov-history-forward.()..."Go.forw |
8ca0 | 61 72 64 20 69 6e 20 74 68 65 20 68 69 73 74 6f 72 79 20 6f 66 20 76 69 73 69 74 65 64 20 64 6f | ard.in.the.history.of.visited.do |
8cc0 | 63 75 6d 65 6e 74 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6f 72 20 | cuments."...(interactive)...(or. |
8ce0 | 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 0a 20 20 20 20 20 20 28 75 73 65 72 2d | nov-history-forward.......(user- |
8d00 | 65 72 72 6f 72 20 22 54 68 69 73 20 69 73 20 74 68 65 20 6c 61 73 74 20 64 6f 63 75 6d 65 6e 74 | error."This.is.the.last.document |
8d20 | 20 79 6f 75 20 6c 6f 6f 6b 65 64 20 61 74 22 29 29 0a 20 20 28 6c 65 74 20 28 28 68 69 73 74 6f | .you.looked.at"))...(let.((histo |
8d40 | 72 79 2d 66 6f 72 77 61 72 64 20 28 63 64 72 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 | ry-forward.(cdr.nov-history-forw |
8d60 | 61 72 64 29 29 29 0a 20 20 20 20 28 73 65 71 2d 6c 65 74 20 28 69 6e 64 65 78 20 6f 70 6f 69 6e | ard))).....(seq-let.(index.opoin |
8d80 | 74 29 20 28 63 61 72 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 29 0a 20 20 20 | t).(car.nov-history-forward).... |
8da0 | 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 69 6e 64 65 78 29 0a 20 20 20 | ...(nov-goto-document.index).... |
8dc0 | 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 68 69 73 | ...(setq.nov-history-forward.his |
8de0 | 74 6f 72 79 2d 66 6f 72 77 61 72 64 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6f | tory-forward).......(goto-char.o |
8e00 | 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 28 72 65 63 65 6e 74 65 72 20 28 31 2d 20 28 6d 61 78 20 | point).......(recenter.(1-.(max. |
8e20 | 31 20 73 63 72 6f 6c 6c 2d 6d 61 72 67 69 6e 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f | 1.scroll-margin))))))..(defun.no |
8e40 | 76 2d 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 74 65 6d 70 2d 64 69 72 20 28 70 61 74 68 29 0a 20 20 | v--initialize-temp-dir.(path)... |
8e60 | 28 77 68 65 6e 20 28 6e 6f 74 20 70 61 74 68 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 45 50 55 | (when.(not.path).....(error."EPU |
8e80 | 42 20 6d 75 73 74 20 62 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 66 69 6c 65 22 29 | B.must.be.associated.with.file") |
8ea0 | 29 0a 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 6e 6f 76 2d 75 6e 7a 69 70 2d 70 72 6f 67 72 61 6d | )...(when.(not.nov-unzip-program |
8ec0 | 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 75 6e 7a 69 70 20 65 78 65 63 75 74 61 62 6c 65 20 6e | ).....(error."unzip.executable.n |
8ee0 | 6f 74 20 66 6f 75 6e 64 2c 20 63 75 73 74 6f 6d 69 7a 65 20 60 6e 6f 76 2d 75 6e 7a 69 70 2d 70 | ot.found,.customize.`nov-unzip-p |
8f00 | 72 6f 67 72 61 6d 27 22 29 29 0a 20 20 28 73 65 74 71 20 6e 6f 76 2d 77 6f 72 6b 2d 64 69 72 20 | rogram'"))...(setq.nov-work-dir. |
8f20 | 28 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 20 22 6e 6f 76 2d 22 20 74 20 22 2e 65 70 75 62 22 | (make-temp-file."nov-".t.".epub" |
8f40 | 29 29 0a 20 20 28 6c 65 74 20 28 28 65 78 69 74 2d 63 6f 64 65 20 28 6e 6f 76 2d 75 6e 7a 69 70 | ))...(let.((exit-code.(nov-unzip |
8f60 | 2d 65 70 75 62 20 6e 6f 76 2d 77 6f 72 6b 2d 64 69 72 20 70 61 74 68 29 29 29 0a 20 20 20 20 28 | -epub.nov-work-dir.path))).....( |
8f80 | 77 68 65 6e 20 28 6e 6f 74 20 28 69 6e 74 65 67 65 72 70 20 65 78 69 74 2d 63 6f 64 65 29 29 0a | when.(not.(integerp.exit-code)). |
8fa0 | 20 20 20 20 20 20 28 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 29 0a 20 20 20 20 20 20 28 65 72 72 6f | ......(nov-clean-up).......(erro |
8fc0 | 72 20 22 45 50 55 42 20 65 78 74 72 61 63 74 69 6f 6e 20 61 62 6f 72 74 65 64 20 62 79 20 73 69 | r."EPUB.extraction.aborted.by.si |
8fe0 | 67 6e 61 6c 20 25 73 22 20 65 78 69 74 2d 63 6f 64 65 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 | gnal.%s".exit-code)).....(when.( |
9000 | 3e 20 65 78 69 74 2d 63 6f 64 65 20 31 29 20 3b 20 65 78 69 74 20 63 6f 64 65 20 31 20 69 73 20 | >.exit-code.1).;.exit.code.1.is. |
9020 | 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 61 20 77 61 72 6e 69 6e 67 0a 20 20 20 20 20 20 28 6e 6f 76 | most.likely.a.warning.......(nov |
9040 | 2d 63 6c 65 61 6e 2d 75 70 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 50 55 42 20 65 78 | -clean-up).......(error."EPUB.ex |
9060 | 74 72 61 63 74 69 6f 6e 20 66 61 69 6c 65 64 20 77 69 74 68 20 65 78 69 74 20 63 6f 64 65 20 25 | traction.failed.with.exit.code.% |
9080 | 64 20 28 73 65 65 20 2a 6e 6f 76 20 75 6e 7a 69 70 2a 20 62 75 66 66 65 72 29 22 0a 20 20 20 20 | d.(see.*nov.unzip*.buffer)"..... |
90a0 | 20 20 20 20 20 20 20 20 20 65 78 69 74 2d 63 6f 64 65 29 29 29 0a 20 20 28 77 68 65 6e 20 28 6e | .........exit-code)))...(when.(n |
90c0 | 6f 74 20 28 6e 6f 76 2d 65 70 75 62 2d 76 61 6c 69 64 2d 70 20 6e 6f 76 2d 77 6f 72 6b 2d 64 69 | ot.(nov-epub-valid-p.nov-work-di |
90e0 | 72 29 29 0a 20 20 20 20 28 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 29 0a 20 20 20 20 28 65 72 72 6f | r)).....(nov-clean-up).....(erro |
9100 | 72 20 22 49 6e 76 61 6c 69 64 20 45 50 55 42 20 66 69 6c 65 22 29 29 29 0a 0a 28 64 65 66 75 6e | r."Invalid.EPUB.file")))..(defun |
9120 | 20 6e 6f 76 2d 6f 70 65 6e 2d 64 69 72 65 63 74 6f 72 79 20 28 64 69 72 29 0a 20 20 22 4f 70 65 | .nov-open-directory.(dir)..."Ope |
9140 | 6e 20 45 50 55 42 20 62 75 66 66 65 72 20 75 73 69 6e 67 20 44 49 52 20 61 73 20 64 69 72 65 63 | n.EPUB.buffer.using.DIR.as.direc |
9160 | 74 6f 72 79 20 6f 66 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 | tory.of.the.document."...(intera |
9180 | 63 74 69 76 65 20 22 44 45 50 55 42 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 72 65 61 64 3a 20 | ctive."DEPUB.directory.to.read:. |
91a0 | 22 29 0a 20 20 28 6c 65 74 20 28 28 62 75 66 20 28 67 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 | ")...(let.((buf.(generate-new-bu |
91c0 | 66 66 65 72 20 28 66 6f 72 6d 61 74 20 22 25 73 3c 6e 6f 76 3e 22 20 64 69 72 29 29 29 29 0a 20 | ffer.(format."%s<nov>".dir)))).. |
91e0 | 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20 | ...(with-current-buffer.buf..... |
9200 | 20 20 28 73 65 74 71 20 6e 6f 76 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 77 6f 72 6b 2d 64 69 72 2d | ..(setq.nov-initialize-work-dir- |
9220 | 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 72 65 6d 6f 76 65 2d 77 6f | p.nil).......(setq.nov-remove-wo |
9240 | 72 6b 2d 64 69 72 2d 6f 6e 2d 65 78 69 74 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 | rk-dir-on-exit-p.nil).......(set |
9260 | 71 20 6e 6f 76 2d 77 6f 72 6b 2d 64 69 72 20 64 69 72 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 6d | q.nov-work-dir.dir).......(nov-m |
9280 | 6f 64 65 29 29 0a 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 29 | ode)).....(switch-to-buffer.buf) |
92a0 | 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 69 6e 65 2d 64 65 72 69 76 | ))..;;;###autoload.(define-deriv |
92c0 | 65 64 2d 6d 6f 64 65 20 6e 6f 76 2d 6d 6f 64 65 20 73 70 65 63 69 61 6c 2d 6d 6f 64 65 20 22 45 | ed-mode.nov-mode.special-mode."E |
92e0 | 50 55 42 22 0a 20 20 22 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 72 65 61 64 69 6e 67 20 45 | PUB"..."Major.mode.for.reading.E |
9300 | 50 55 42 20 64 6f 63 75 6d 65 6e 74 73 22 0a 20 20 28 77 68 65 6e 20 6e 6f 76 2d 72 65 6d 6f 76 | PUB.documents"...(when.nov-remov |
9320 | 65 2d 77 6f 72 6b 2d 64 69 72 2d 6f 6e 2d 65 78 69 74 2d 70 0a 20 20 20 20 28 61 64 64 2d 68 6f | e-work-dir-on-exit-p.....(add-ho |
9340 | 6f 6b 20 27 6b 69 6c 6c 2d 62 75 66 66 65 72 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 63 6c 65 61 6e 2d | ok.'kill-buffer-hook.'nov-clean- |
9360 | 75 70 20 6e 69 6c 20 74 29 0a 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 65 6d | up.nil.t).....(add-hook.'kill-em |
9380 | 61 63 73 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 2d 61 6c 6c 29 0a 20 20 20 20 | acs-hook.'nov-clean-up-all)..... |
93a0 | 28 61 64 64 2d 68 6f 6f 6b 20 27 63 68 61 6e 67 65 2d 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 68 6f 6f | (add-hook.'change-major-mode-hoo |
93c0 | 6b 20 27 6e 6f 76 2d 63 6c 65 61 6e 2d 75 70 20 6e 69 6c 20 74 29 29 0a 0a 20 20 28 77 68 65 6e | k.'nov-clean-up.nil.t))....(when |
93e0 | 20 6e 6f 76 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 77 6f 72 6b 2d 64 69 72 2d 70 0a 20 20 20 20 28 | .nov-initialize-work-dir-p.....( |
9400 | 6e 6f 76 2d 2d 69 6e 69 74 69 61 6c 69 7a 65 2d 74 65 6d 70 2d 64 69 72 20 62 75 66 66 65 72 2d | nov--initialize-temp-dir.buffer- |
9420 | 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 0a 20 20 28 6c 65 74 2a 20 28 28 63 6f 6e 74 65 6e 74 20 28 | file-name))....(let*.((content.( |
9440 | 6e 6f 76 2d 73 6c 75 72 70 20 28 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 72 2d 66 69 6c 65 6e 61 6d | nov-slurp.(nov-container-filenam |
9460 | 65 20 6e 6f 76 2d 77 6f 72 6b 2d 64 69 72 29 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f | e.nov-work-dir).t))..........(co |
9480 | 6e 74 65 6e 74 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 6e 6f 76 2d 63 6f 6e 74 61 69 6e 65 72 2d 63 | ntent-file-name.(nov-container-c |
94a0 | 6f 6e 74 65 6e 74 2d 66 69 6c 65 6e 61 6d 65 20 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 20 20 | ontent-filename.content))....... |
94c0 | 20 20 20 28 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 20 28 6e 6f 76 2d 6d 61 6b 65 2d 70 61 74 68 20 | ...(content-file.(nov-make-path. |
94e0 | 6e 6f 76 2d 77 6f 72 6b 2d 64 69 72 20 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 | nov-work-dir.content-file-name)) |
9500 | 0a 20 20 20 20 20 20 20 20 20 28 77 6f 72 6b 2d 64 69 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 | ..........(work-dir.(file-name-d |
9520 | 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 | irectory.content-file))......... |
9540 | 20 28 63 6f 6e 74 65 6e 74 20 28 6e 6f 76 2d 73 6c 75 72 70 20 63 6f 6e 74 65 6e 74 2d 66 69 6c | .(content.(nov-slurp.content-fil |
9560 | 65 20 74 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 66 69 6c | e.t))).....(setq.nov-content-fil |
9580 | 65 20 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 65 70 | e.content-file).....(setq.nov-ep |
95a0 | 75 62 2d 76 65 72 73 69 6f 6e 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 76 65 72 73 69 6f 6e 20 | ub-version.(nov-content-version. |
95c0 | 63 6f 6e 74 65 6e 74 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 6d 65 74 61 64 61 74 61 | content)).....(setq.nov-metadata |
95e0 | 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 6d 65 74 61 64 61 74 61 20 63 6f 6e 74 65 6e 74 29 29 | .(nov-content-metadata.content)) |
9600 | 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 20 28 61 70 70 6c 79 20 | .....(setq.nov-documents.(apply. |
9620 | 27 76 65 63 74 6f 72 20 28 6e 6f 76 2d 63 6f 6e 74 65 6e 74 2d 66 69 6c 65 73 20 77 6f 72 6b 2d | 'vector.(nov-content-files.work- |
9640 | 64 69 72 20 63 6f 6e 74 65 6e 74 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d 64 6f 63 | dir.content))).....(setq.nov-doc |
9660 | 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 30 29 29 0a 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d | uments-index.0))...(setq.buffer- |
9680 | 75 6e 64 6f 2d 6c 69 73 74 20 74 29 0a 20 20 28 73 65 74 71 20 6e 6f 76 2d 66 69 6c 65 2d 6e 61 | undo-list.t)...(setq.nov-file-na |
96a0 | 6d 65 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 20 3b 20 6b 65 70 74 20 66 6f | me.(buffer-file-name)).;.kept.fo |
96c0 | 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 72 65 61 73 6f 6e 73 0a 20 20 28 73 65 74 71 2d | r.compatibility.reasons...(setq- |
96e0 | 6c 6f 63 61 6c 20 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 2d 66 75 6e 63 74 | local.bookmark-make-record-funct |
9700 | 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 6f 76 2d 62 6f 6f 6b 6d 61 72 6b 2d | ion...............'nov-bookmark- |
9720 | 6d 61 6b 65 2d 72 65 63 6f 72 64 29 0a 20 20 28 6c 65 74 20 28 28 70 6c 61 63 65 20 28 6e 6f 76 | make-record)...(let.((place.(nov |
9740 | 2d 73 61 76 65 64 2d 70 6c 61 63 65 20 28 63 64 72 20 28 61 73 73 71 20 27 69 64 65 6e 74 69 66 | -saved-place.(cdr.(assq.'identif |
9760 | 69 65 72 20 6e 6f 76 2d 6d 65 74 61 64 61 74 61 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 70 6c | ier.nov-metadata))))).....(if.pl |
9780 | 61 63 65 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 6e 64 65 78 20 28 63 64 72 20 28 61 | ace.........(let.((index.(cdr.(a |
97a0 | 73 73 71 20 27 69 6e 64 65 78 20 70 6c 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ssq.'index.place)))............. |
97c0 | 20 20 28 70 6f 69 6e 74 20 28 63 64 72 20 28 61 73 73 71 20 27 70 6f 69 6e 74 20 70 6c 61 63 65 | ..(point.(cdr.(assq.'point.place |
97e0 | 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 76 2d 2d 69 6e 64 65 78 2d 76 | ))))...........(if.(nov--index-v |
9800 | 61 6c 69 64 2d 70 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 20 69 6e 64 65 78 29 0a 20 20 20 20 | alid-p.nov-documents.index)..... |
9820 | 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..........(progn................ |
9840 | 20 28 73 65 74 71 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 69 6e 64 65 78 | .(setq.nov-documents-index.index |
9860 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 72 65 6e 64 65 72 2d 64 6f | ).................(nov-render-do |
9880 | 63 75 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 | cument).................(goto-ch |
98a0 | 61 72 20 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 77 61 72 6e | ar.point)).............(nov-warn |
98c0 | 20 22 43 6f 75 6c 64 6e 27 74 20 72 65 73 74 6f 72 65 20 6c 61 73 74 20 70 6f 73 69 74 69 6f 6e | ."Couldn't.restore.last.position |
98e0 | 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 72 65 6e 64 65 72 2d 64 6f 63 75 6d | ").............(nov-render-docum |
9900 | 65 6e 74 29 29 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 72 65 6e 64 65 72 2d 64 6f 63 75 6d 65 6e | ent))).......(nov-render-documen |
9920 | 74 29 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 72 65 63 65 6e 74 66 20 69 6e 74 65 72 6f 70 0a 0a 28 64 | t))))....;;;.recentf.interop..(d |
9940 | 65 66 75 6e 20 6e 6f 76 2d 61 64 64 2d 74 6f 2d 72 65 63 65 6e 74 66 20 28 29 0a 20 20 22 41 64 | efun.nov-add-to-recentf.()..."Ad |
9960 | 64 20 72 65 61 6c 20 70 61 74 68 20 74 6f 20 72 65 63 65 6e 74 66 20 6c 69 73 74 20 69 66 20 70 | d.real.path.to.recentf.list.if.p |
9980 | 6f 73 73 69 62 6c 65 2e 22 0a 20 20 28 77 68 65 6e 20 6e 6f 76 2d 66 69 6c 65 2d 6e 61 6d 65 0a | ossible."...(when.nov-file-name. |
99a0 | 20 20 20 20 28 72 65 63 65 6e 74 66 2d 61 64 64 2d 66 69 6c 65 20 6e 6f 76 2d 66 69 6c 65 2d 6e | ....(recentf-add-file.nov-file-n |
99c0 | 61 6d 65 29 29 29 0a 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 6d 6f 64 65 2d 68 6f 6f 6b | ame)))..(add-hook.'nov-mode-hook |
99e0 | 20 27 6e 6f 76 2d 61 64 64 2d 74 6f 2d 72 65 63 65 6e 74 66 29 0a 28 61 64 64 2d 68 6f 6f 6b 20 | .'nov-add-to-recentf).(add-hook. |
9a00 | 27 6e 6f 76 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 27 68 61 63 6b 2d 64 69 72 2d 6c 6f 63 61 6c 2d 76 | 'nov-mode-hook.'hack-dir-local-v |
9a20 | 61 72 69 61 62 6c 65 73 2d 6e 6f 6e 2d 66 69 6c 65 2d 62 75 66 66 65 72 29 0a 0a 0c 0a 28 64 65 | ariables-non-file-buffer)....(de |
9a40 | 66 75 6e 20 6e 6f 76 2d 2d 66 69 6e 64 2d 66 69 6c 65 20 28 66 69 6c 65 20 69 6e 64 65 78 20 70 | fun.nov--find-file.(file.index.p |
9a60 | 6f 69 6e 74 29 0a 20 20 22 4f 70 65 6e 20 46 49 4c 45 20 69 6e 20 6e 6f 76 2d 6d 6f 64 65 20 61 | oint)..."Open.FILE.in.nov-mode.a |
9a80 | 6e 64 20 67 6f 20 74 6f 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 49 4e 44 45 58 20 61 6e 64 | nd.go.to.the.specified.INDEX.and |
9aa0 | 20 50 4f 53 49 54 49 4f 4e 2e 0a 49 66 20 46 49 4c 45 20 69 73 20 6e 69 6c 2c 20 74 68 65 20 63 | .POSITION..If.FILE.is.nil,.the.c |
9ac0 | 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 69 73 20 75 73 65 64 2e 22 0a 20 20 28 77 68 65 6e 20 | urrent.buffer.is.used."...(when. |
9ae0 | 66 69 6c 65 0a 20 20 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 66 69 6c 65 29 29 0a 20 20 28 75 6e | file.....(find-file.file))...(un |
9b00 | 6c 65 73 73 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 6e 6f 76 2d 6d 6f 64 65 29 0a 20 | less.(eq.major-mode.'nov-mode).. |
9b20 | 20 20 20 28 6e 6f 76 2d 6d 6f 64 65 29 29 0a 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 6e 6f 76 | ...(nov-mode))...(when.(not.(nov |
9b40 | 2d 2d 69 6e 64 65 78 2d 76 61 6c 69 64 2d 70 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 20 69 6e | --index-valid-p.nov-documents.in |
9b60 | 64 65 78 29 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 64 6f 63 75 6d 65 | dex)).....(error."Invalid.docume |
9b80 | 6e 74 73 20 69 6e 64 65 78 22 29 29 0a 20 20 28 73 65 74 71 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e | nts.index"))...(setq.nov-documen |
9ba0 | 74 73 2d 69 6e 64 65 78 20 69 6e 64 65 78 29 0a 20 20 28 6e 6f 76 2d 72 65 6e 64 65 72 2d 64 6f | ts-index.index)...(nov-render-do |
9bc0 | 63 75 6d 65 6e 74 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 69 6e 74 29 29 0a 0a 3b 3b | cument)...(goto-char.point))..;; |
9be0 | 20 42 6f 6f 6b 6d 61 72 6b 20 69 6e 74 65 72 6f 70 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 62 6f 6f | .Bookmark.interop.(defun.nov-boo |
9c00 | 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 20 20 28 29 0a 20 20 22 43 72 65 61 74 65 20 | kmark-make-record..()..."Create. |
9c20 | 61 20 62 6f 6f 6b 6d 61 72 6b 20 45 50 55 42 20 72 65 63 6f 72 64 2e 22 0a 20 20 28 63 6f 6e 73 | a.bookmark.EPUB.record."...(cons |
9c40 | 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 60 28 28 66 69 6c 65 6e 61 | .(buffer-name).........`((filena |
9c60 | 6d 65 20 2e 20 2c 6e 6f 76 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 | me...,nov-file-name)...........( |
9c80 | 69 6e 64 65 78 20 2e 20 2c 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 29 0a 20 20 | index...,nov-documents-index)... |
9ca0 | 20 20 20 20 20 20 20 20 28 70 6f 73 69 74 69 6f 6e 20 2e 20 2c 28 70 6f 69 6e 74 29 29 0a 20 20 | ........(position...,(point))... |
9cc0 | 20 20 20 20 20 20 20 20 28 68 61 6e 64 6c 65 72 20 2e 20 6e 6f 76 2d 62 6f 6f 6b 6d 61 72 6b 2d | ........(handler...nov-bookmark- |
9ce0 | 6a 75 6d 70 2d 68 61 6e 64 6c 65 72 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 | jump-handler))))..;;;###autoload |
9d00 | 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 62 6f 6f 6b 6d 61 72 6b 2d 6a 75 6d 70 2d 68 61 6e 64 6c 65 | .(defun.nov-bookmark-jump-handle |
9d20 | 72 20 28 62 6d 6b 29 0a 20 20 22 54 68 65 20 62 6f 6f 6b 6d 61 72 6b 20 68 61 6e 64 6c 65 72 2d | r.(bmk)..."The.bookmark.handler- |
9d40 | 66 75 6e 63 74 69 6f 6e 20 69 6e 74 65 72 66 61 63 65 20 66 6f 72 20 62 6f 6f 6b 6d 61 72 6b 20 | function.interface.for.bookmark. |
9d60 | 42 4d 4b 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 6e 6f 76 2d 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b | BMK...See.also.`nov-bookmark-mak |
9d80 | 65 2d 72 65 63 6f 72 64 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 20 28 62 6f 6f 6b 6d | e-record'."...(let.((file.(bookm |
9da0 | 61 72 6b 2d 70 72 6f 70 2d 67 65 74 20 62 6d 6b 20 27 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 | ark-prop-get.bmk.'filename)).... |
9dc0 | 20 20 20 20 20 28 69 6e 64 65 78 20 28 62 6f 6f 6b 6d 61 72 6b 2d 70 72 6f 70 2d 67 65 74 20 62 | .....(index.(bookmark-prop-get.b |
9de0 | 6d 6b 20 27 69 6e 64 65 78 29 29 0a 20 20 20 20 20 20 20 20 28 70 6f 73 69 74 69 6f 6e 20 28 62 | mk.'index)).........(position.(b |
9e00 | 6f 6f 6b 6d 61 72 6b 2d 70 72 6f 70 2d 67 65 74 20 62 6d 6b 20 27 70 6f 73 69 74 69 6f 6e 29 29 | ookmark-prop-get.bmk.'position)) |
9e20 | 29 0a 20 20 20 20 28 6e 6f 76 2d 2d 66 69 6e 64 2d 66 69 6c 65 20 66 69 6c 65 20 69 6e 64 65 78 | ).....(nov--find-file.file.index |
9e40 | 20 70 6f 73 69 74 69 6f 6e 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 4f 72 67 20 69 6e 74 65 72 6f 70 0a | .position)))....;;;.Org.interop. |
9e60 | 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6f 72 67 2d 6c | .;;;###autoload.(defun.nov-org-l |
9e80 | 69 6e 6b 2d 66 6f 6c 6c 6f 77 20 28 70 61 74 68 29 0a 20 20 22 46 6f 6c 6c 6f 77 20 6e 6f 76 3a | ink-follow.(path)..."Follow.nov: |
9ea0 | 20 6c 69 6e 6b 20 64 65 73 69 67 6e 61 74 65 64 20 62 79 20 50 41 54 48 2e 22 0a 20 20 28 69 66 | .link.designated.by.PATH."...(if |
9ec0 | 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5e 5c 5c 28 2e 2a 5c 5c 29 3a 3a 5c 5c 28 5b 30 | .(string-match."^\\(.*\\)::\\([0 |
9ee0 | 2d 39 5d 2b 5c 5c 29 3a 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 24 22 20 70 61 74 68 29 0a 20 20 20 | -9]+\\):\\([0-9]+\\)$".path).... |
9f00 | 20 20 20 28 6c 65 74 20 28 28 66 69 6c 65 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 70 | ...(let.((file.(match-string.1.p |
9f20 | 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 78 20 28 73 74 72 69 6e 67 | ath)).............(index.(string |
9f40 | 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 20 70 61 74 68 29 | -to-number.(match-string.2.path) |
9f60 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 20 28 73 74 72 69 6e 67 2d 74 6f | )).............(point.(string-to |
9f80 | 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 33 20 70 61 74 68 29 29 29 29 | -number.(match-string.3.path)))) |
9fa0 | 0a 20 20 20 20 20 20 20 20 28 6e 6f 76 2d 2d 66 69 6e 64 2d 66 69 6c 65 20 66 69 6c 65 20 69 6e | .........(nov--find-file.file.in |
9fc0 | 64 65 78 20 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 | dex.point)).....(error."Invalid. |
9fe0 | 6e 6f 76 2e 65 6c 20 6c 69 6e 6b 22 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a | nov.el.link")))..;;;###autoload. |
a000 | 28 64 65 66 75 6e 20 6e 6f 76 2d 6f 72 67 2d 6c 69 6e 6b 2d 73 74 6f 72 65 20 28 29 0a 20 20 22 | (defun.nov-org-link-store.()..." |
a020 | 53 74 6f 72 65 20 63 75 72 72 65 6e 74 20 45 50 55 42 20 6c 6f 63 61 74 69 6f 6e 20 61 73 20 6e | Store.current.EPUB.location.as.n |
a040 | 6f 76 3a 20 6c 69 6e 6b 2e 22 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 65 71 20 6d 61 6a 6f | ov:.link."...(when.(and.(eq.majo |
a060 | 72 2d 6d 6f 64 65 20 27 6e 6f 76 2d 6d 6f 64 65 29 20 6e 6f 76 2d 66 69 6c 65 2d 6e 61 6d 65 29 | r-mode.'nov-mode).nov-file-name) |
a080 | 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 69 6e 74 65 67 65 72 70 20 6e 6f 76 2d 64 6f | .....(when.(not.(integerp.nov-do |
a0a0 | 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 6f 76 2d | cuments-index)).......(setq.nov- |
a0c0 | 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 30 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6f | documents-index.0)).....(let.((o |
a0e0 | 72 67 2d 73 74 6f 72 65 2d 70 72 6f 70 73 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 | rg-store-props-function......... |
a100 | 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 2d 6c 69 6e 6b 2d 73 74 6f 72 65 2d | ...(if.(fboundp.'org-link-store- |
a120 | 70 72 6f 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6f 72 67 2d 6c 69 6e 6b 2d | props)................'org-link- |
a140 | 73 74 6f 72 65 2d 70 72 6f 70 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6f 72 67 2d 73 74 | store-props..............'org-st |
a160 | 6f 72 65 2d 6c 69 6e 6b 2d 70 72 6f 70 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 6b | ore-link-props))...........(link |
a180 | 20 28 66 6f 72 6d 61 74 20 22 6e 6f 76 3a 25 73 3a 3a 25 64 3a 25 64 22 0a 20 20 20 20 20 20 20 | .(format."nov:%s::%d:%d"........ |
a1a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 76 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 | .................nov-file-name.. |
a1c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 76 2d 64 6f 63 75 6d | .......................nov-docum |
a1e0 | 65 6e 74 73 2d 69 6e 64 65 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ents-index...................... |
a200 | 20 20 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 73 63 72 69 70 74 | ...(point)))...........(descript |
a220 | 69 6f 6e 20 28 6f 72 20 28 61 6c 69 73 74 2d 67 65 74 20 27 74 69 74 6c 65 20 6e 6f 76 2d 6d 65 | ion.(or.(alist-get.'title.nov-me |
a240 | 74 61 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tadata)......................... |
a260 | 20 20 20 28 66 6f 72 6d 61 74 20 22 45 50 55 42 20 66 69 6c 65 20 61 74 20 25 73 22 20 6e 6f 76 | ...(format."EPUB.file.at.%s".nov |
a280 | 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6f 72 | -file-name)))).......(funcall.or |
a2a0 | 67 2d 73 74 6f 72 65 2d 70 72 6f 70 73 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 | g-store-props-function.......... |
a2c0 | 20 20 20 20 20 20 3a 74 79 70 65 20 22 6e 6f 76 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......:type."nov"............... |
a2e0 | 20 3a 6c 69 6e 6b 20 6c 69 6e 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 61 75 74 68 | .:link.link................:auth |
a300 | 6f 72 20 28 61 6c 69 73 74 2d 67 65 74 20 27 63 72 65 61 74 6f 72 20 6e 6f 76 2d 6d 65 74 61 64 | or.(alist-get.'creator.nov-metad |
a320 | 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 61 6e 67 75 61 67 65 20 28 61 | ata)................:language.(a |
a340 | 6c 69 73 74 2d 67 65 74 20 27 6c 61 6e 67 75 61 67 65 20 6e 6f 76 2d 6d 65 74 61 64 61 74 61 29 | list-get.'language.nov-metadata) |
a360 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 69 61 6c 20 28 61 6c 69 73 74 2d | ................:initial.(alist- |
a380 | 67 65 74 20 27 64 65 73 63 72 69 70 74 69 6f 6e 20 6e 6f 76 2d 6d 65 74 61 64 61 74 61 29 0a 20 | get.'description.nov-metadata).. |
a3a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 75 62 6c 69 73 68 65 72 20 28 61 6c 69 73 74 2d | ..............:publisher.(alist- |
a3c0 | 67 65 74 20 27 70 75 62 6c 69 73 68 65 72 20 6e 6f 76 2d 6d 65 74 61 64 61 74 61 29 0a 20 20 20 | get.'publisher.nov-metadata).... |
a3e0 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 64 65 73 63 72 69 70 | ............:description.descrip |
a400 | 74 69 6f 6e 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 77 69 74 68 2d 65 | tion))))..;;;###autoload.(with-e |
a420 | 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 6f 72 67 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 | val-after-load.'org...(cond....( |
a440 | 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70 61 72 61 6d 65 74 65 72 | (fboundp.'org-link-set-parameter |
a460 | 73 29 0a 20 20 20 20 28 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70 61 72 61 6d 65 74 65 72 73 0a | s).....(org-link-set-parameters. |
a480 | 20 20 20 20 20 22 6e 6f 76 22 0a 20 20 20 20 20 3a 66 6f 6c 6c 6f 77 20 27 6e 6f 76 2d 6f 72 67 | ....."nov"......:follow.'nov-org |
a4a0 | 2d 6c 69 6e 6b 2d 66 6f 6c 6c 6f 77 0a 20 20 20 20 20 3a 73 74 6f 72 65 20 27 6e 6f 76 2d 6f 72 | -link-follow......:store.'nov-or |
a4c0 | 67 2d 6c 69 6e 6b 2d 73 74 6f 72 65 29 29 0a 20 20 20 28 28 66 62 6f 75 6e 64 70 20 27 6f 72 67 | g-link-store))....((fboundp.'org |
a4e0 | 2d 61 64 64 2d 6c 69 6e 6b 2d 74 79 70 65 29 0a 20 20 20 20 28 6f 72 67 2d 61 64 64 2d 6c 69 6e | -add-link-type).....(org-add-lin |
a500 | 6b 2d 74 79 70 65 20 22 6e 6f 76 22 20 27 6e 6f 76 2d 6f 72 67 2d 6c 69 6e 6b 2d 66 6f 6c 6c 6f | k-type."nov".'nov-org-link-follo |
a520 | 77 29 0a 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6f 72 67 2d 73 74 6f 72 65 2d 6c 69 6e 6b | w).....(add-hook.'org-store-link |
a540 | 2d 66 75 6e 63 74 69 6f 6e 73 20 27 6e 6f 76 2d 6f 72 67 2d 6c 69 6e 6b 2d 73 74 6f 72 65 29 29 | -functions.'nov-org-link-store)) |
a560 | 29 29 0a 0a 0c 0a 3b 3b 3b 20 49 6d 65 6e 75 20 69 6e 74 65 72 6f 70 0a 0a 28 64 65 66 75 6e 20 | ))....;;;.Imenu.interop..(defun. |
a580 | 6e 6f 76 2d 69 6d 65 6e 75 2d 67 6f 74 6f 2d 66 75 6e 63 74 69 6f 6e 20 28 5f 6e 61 6d 65 20 66 | nov-imenu-goto-function.(_name.f |
a5a0 | 69 6c 65 6e 61 6d 65 20 74 61 72 67 65 74 29 0a 20 20 22 56 69 73 69 74 20 69 6d 65 6e 75 20 69 | ilename.target)..."Visit.imenu.i |
a5c0 | 74 65 6d 20 75 73 69 6e 67 20 46 49 4c 45 4e 41 4d 45 20 61 6e 64 20 54 41 52 47 45 54 2e 22 0a | tem.using.FILENAME.and.TARGET.". |
a5e0 | 20 20 3b 3b 20 4d 61 6b 65 20 73 75 72 65 20 66 69 6c 65 20 69 73 20 76 69 73 69 74 65 64 20 72 | ..;;.Make.sure.file.is.visited.r |
a600 | 65 6c 61 74 69 76 65 20 74 6f 20 74 6f 63 20 66 69 6c 65 2e 0a 20 20 28 6c 65 74 20 28 28 6e 6f | elative.to.toc.file....(let.((no |
a620 | 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 30 29 29 0a 20 20 20 20 28 6e 6f 76 2d 76 | v-documents-index.0)).....(nov-v |
a640 | 69 73 69 74 2d 72 65 6c 61 74 69 76 65 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20 74 61 72 67 | isit-relative-file.filename.targ |
a660 | 65 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 69 6d 65 6e 75 2d 63 72 65 61 74 65 2d 69 | et)))..(defun.nov-imenu-create-i |
a680 | 6e 64 65 78 20 28 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 49 6d 65 6e 75 20 69 6e 64 65 78 2e | ndex.()..."Generate.Imenu.index. |
a6a0 | 22 0a 20 20 28 6c 65 74 2a 20 28 28 74 6f 63 2d 70 61 74 68 20 28 63 64 72 20 28 61 72 65 66 20 | "...(let*.((toc-path.(cdr.(aref. |
a6c0 | 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 63 78 | nov-documents.0)))..........(ncx |
a6e0 | 70 20 28 76 65 72 73 69 6f 6e 3c 20 6e 6f 76 2d 65 70 75 62 2d 76 65 72 73 69 6f 6e 20 22 33 2e | p.(version<.nov-epub-version."3. |
a700 | 30 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 6f 63 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 | 0"))..........(toc.(with-temp-bu |
a720 | 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6e 63 78 70 0a 20 20 | ffer.................(if.ncxp... |
a740 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 6e 6f 76 2d 6e | ..................(insert.(nov-n |
a760 | 63 78 2d 74 6f 2d 68 74 6d 6c 20 74 6f 63 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 | cx-to-html.toc-path))........... |
a780 | 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 74 6f | ........(insert-file-contents.to |
a7a0 | 63 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 62 78 6d 6c | c-path)).................(libxml |
a7c0 | 2d 70 61 72 73 65 2d 68 74 6d 6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 | -parse-html-region.(point-min).( |
a7e0 | 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 20 20 20 20 28 6d 61 70 63 61 72 0a 20 20 20 20 20 | point-max))))).....(mapcar...... |
a800 | 28 6c 61 6d 62 64 61 20 28 6e 6f 64 65 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 68 72 65 | (lambda.(node)........(let.((hre |
a820 | 66 20 28 64 6f 6d 2d 61 74 74 72 20 6e 6f 64 65 20 27 68 72 65 66 29 29 0a 20 20 20 20 20 20 20 | f.(dom-attr.node.'href))........ |
a840 | 20 20 20 20 20 20 28 6c 61 62 65 6c 20 28 64 6f 6d 2d 74 65 78 74 20 6e 6f 64 65 29 29 29 0a 20 | ......(label.(dom-text.node))).. |
a860 | 20 20 20 20 20 20 20 20 28 73 65 71 2d 6c 65 74 20 28 66 69 6c 65 6e 61 6d 65 20 74 61 72 67 65 | ........(seq-let.(filename.targe |
a880 | 74 29 20 28 6e 6f 76 2d 75 72 6c 2d 66 69 6c 65 6e 61 6d 65 2d 61 6e 64 2d 74 61 72 67 65 74 20 | t).(nov-url-filename-and-target. |
a8a0 | 68 72 65 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 6c 61 62 65 6c 20 66 69 6c | href)............(list.label.fil |
a8c0 | 65 6e 61 6d 65 20 27 6e 6f 76 2d 69 6d 65 6e 75 2d 67 6f 74 6f 2d 66 75 6e 63 74 69 6f 6e 20 74 | ename.'nov-imenu-goto-function.t |
a8e0 | 61 72 67 65 74 29 29 29 29 0a 20 20 20 20 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 | arget))))......(esxml-query-all. |
a900 | 22 61 22 20 74 6f 63 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 69 6d 65 6e 75 2d 73 65 | "a".toc))))..(defun.nov-imenu-se |
a920 | 74 75 70 20 28 29 0a 20 20 28 73 65 74 71 20 69 6d 65 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 65 | tup.()...(setq.imenu-create-inde |
a940 | 78 2d 66 75 6e 63 74 69 6f 6e 20 27 6e 6f 76 2d 69 6d 65 6e 75 2d 63 72 65 61 74 65 2d 69 6e 64 | x-function.'nov-imenu-create-ind |
a960 | 65 78 29 29 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 6e 6f 76 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 27 6e | ex)).(add-hook.'nov-mode-hook.'n |
a980 | 6f 76 2d 69 6d 65 6e 75 2d 73 65 74 75 70 29 0a 0a 0c 0a 3b 3b 3b 20 6d 75 6c 74 69 2d 69 73 65 | ov-imenu-setup)....;;;.multi-ise |
a9a0 | 61 72 63 68 20 69 6e 74 65 72 6f 70 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6d 69 73 65 61 72 63 | arch.interop..(defun.nov-misearc |
a9c0 | 68 2d 6e 65 78 74 2d 62 75 66 66 65 72 20 28 5f 62 75 66 66 65 72 20 77 72 61 70 29 0a 20 20 28 | h-next-buffer.(_buffer.wrap)...( |
a9e0 | 69 66 20 69 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 0a 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 | if.isearch-forward.......(cond.. |
aa00 | 20 20 20 20 20 20 28 28 3c 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 20 28 31 | ......((<.nov-documents-index.(1 |
aa20 | 2d 20 28 6c 65 6e 67 74 68 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 29 29 29 0a 20 20 20 20 20 | -.(length.nov-documents)))...... |
aa40 | 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 28 31 2b 20 6e 6f 76 2d 64 6f | ...(nov-goto-document.(1+.nov-do |
aa60 | 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 29 29 0a 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 | cuments-index)).........(current |
aa80 | 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 28 77 72 61 70 0a 20 20 20 20 20 20 20 20 28 | -buffer))........(wrap.........( |
aaa0 | 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 30 29 0a 20 20 20 20 20 20 20 20 6e 69 6c | nov-goto-document.0).........nil |
aac0 | 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 3e 20 6e 6f 76 2d 64 6f 63 75 6d 65 | )).....(cond......((>.nov-docume |
aae0 | 6e 74 73 2d 69 6e 64 65 78 20 30 29 0a 20 20 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 | nts-index.0).......(nov-goto-doc |
ab00 | 75 6d 65 6e 74 20 28 31 2d 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 2d 69 6e 64 65 78 29 29 0a | ument.(1-.nov-documents-index)). |
ab20 | 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 28 77 72 | ......(current-buffer))......(wr |
ab40 | 61 70 0a 20 20 20 20 20 20 28 6e 6f 76 2d 67 6f 74 6f 2d 64 6f 63 75 6d 65 6e 74 20 28 31 2d 20 | ap.......(nov-goto-document.(1-. |
ab60 | 28 6c 65 6e 67 74 68 20 6e 6f 76 2d 64 6f 63 75 6d 65 6e 74 73 29 29 29 0a 20 20 20 20 20 20 6e | (length.nov-documents))).......n |
ab80 | 69 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6e 6f 76 2d 6d 69 73 65 61 72 63 68 2d 73 65 74 75 | il))))..(defun.nov-misearch-setu |
aba0 | 70 20 28 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 6d 75 6c 74 69 2d 69 73 65 61 72 63 68 | p.()...(setq-local.multi-isearch |
abc0 | 2d 6e 65 78 74 2d 62 75 66 66 65 72 2d 66 75 6e 63 74 69 6f 6e 20 23 27 6e 6f 76 2d 6d 69 73 65 | -next-buffer-function.#'nov-mise |
abe0 | 61 72 63 68 2d 6e 65 78 74 2d 62 75 66 66 65 72 29 29 0a 28 61 64 64 2d 68 6f 6f 6b 20 27 6e 6f | arch-next-buffer)).(add-hook.'no |
ac00 | 76 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 23 27 6e 6f 76 2d 6d 69 73 65 61 72 63 68 2d 73 65 74 75 70 | v-mode-hook.#'nov-misearch-setup |
ac20 | 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 6e 6f 76 29 0a 3b 3b 3b 20 6e 6f 76 2e 65 6c 20 65 6e 64 | )..(provide.'nov).;;;.nov.el.end |
ac40 | 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | s.here.......................... |
ac60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ac80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
aca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
acc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ace0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ad00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ad20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ad40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ad60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ad80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ada0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
adc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ade0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ae00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ae20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ae40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ae60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ae80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
aea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
aec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
aee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
af00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
af20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
af40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
af60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
af80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
afa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
afc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
afe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b6a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ba00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ba20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ba40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ba60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
ba80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
baa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bb20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bb60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bb80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bbc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bbe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bc00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bc20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bc40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bc60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bc80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bcc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bd00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bd20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bdc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
be00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
be20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
be40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
be60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
be80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bf00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bf20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bf40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bf60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bf80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bfa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bfc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
bfe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c6a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
c7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |