ofs | hex dump | ascii |
---|
0000 | 46 72 6f 6d 3a 20 4a 6f 68 61 6e 6e 65 73 20 44 65 77 65 6e 64 65 72 20 3c 61 72 63 68 40 4a 6f | From:.Johannes.Dewender.<arch@Jo |
0020 | 6e 6e 79 4a 44 2e 6e 65 74 3e 0a 53 75 62 6a 65 63 74 3a 20 63 6f 6e 76 65 72 74 20 6f 6e 6c 79 | nnyJD.net>.Subject:.convert.only |
0040 | 20 6e 6f 6e 2d 6c 69 6e 6b 65 64 20 6e 6f 74 20 69 6e 20 75 72 6c 73 0a 44 61 74 65 3a 20 4d 6f | .non-linked.not.in.urls.Date:.Mo |
0060 | 6e 2c 20 31 32 20 46 65 62 20 32 30 31 33 20 30 30 3a 32 30 3a 30 36 20 2b 30 31 30 30 0a 0a 57 | n,.12.Feb.2013.00:20:06.+0100..W |
0080 | 6f 72 64 73 20 77 68 65 72 65 20 6f 6e 6c 79 20 74 68 65 20 66 69 72 73 74 20 6c 65 74 74 65 72 | ords.where.only.the.first.letter |
00a0 | 20 69 73 20 75 70 70 65 72 63 61 73 65 20 61 72 65 20 6e 6f 74 20 43 61 6d 65 6c 43 61 73 65 2e | .is.uppercase.are.not.CamelCase. |
00c0 | 0a 0a 57 68 65 6e 20 74 68 65 72 65 20 69 73 20 61 20 5b 20 69 6e 20 74 68 65 20 77 6f 72 64 20 | ..When.there.is.a.[.in.the.word. |
00e0 | 62 65 66 6f 72 65 20 74 68 65 20 77 69 6b 69 20 70 61 67 65 20 6e 61 6d 65 20 69 74 20 69 73 20 | before.the.wiki.page.name.it.is. |
0100 | 61 6c 72 65 61 64 79 20 6c 69 6e 6b 65 64 2e 0a 4f 74 68 65 72 20 6c 65 74 74 65 72 73 20 69 6e | already.linked..Other.letters.in |
0120 | 20 74 68 65 20 77 6f 72 64 20 62 65 66 6f 72 65 20 74 68 65 20 70 61 67 65 20 6e 61 6d 65 20 6d | .the.word.before.the.page.name.m |
0140 | 65 61 6e 20 74 68 65 20 70 61 67 65 20 6e 61 6d 65 0a 69 73 20 61 6c 72 65 61 64 79 20 70 61 72 | ean.the.page.name.is.already.par |
0160 | 74 20 6f 66 20 61 20 77 6f 72 64 20 2d 3e 20 64 6f 6e 27 74 20 6c 69 6e 6b 2e 0a 4f 74 68 65 72 | t.of.a.word.->.don't.link..Other |
0180 | 77 69 73 65 20 6e 6f 6e 2d 6c 65 74 74 65 72 73 20 63 61 6e 20 62 65 20 61 74 20 74 68 65 20 73 | wise.non-letters.can.be.at.the.s |
01a0 | 74 61 72 74 20 6f 66 20 74 68 65 20 77 6f 72 64 0a 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 | tart.of.the.word.and.the.followi |
01c0 | 6e 67 20 70 61 72 74 20 77 69 6c 6c 20 73 74 69 6c 6c 20 62 65 20 6c 69 6e 6b 65 64 2e 0a 0a 49 | ng.part.will.still.be.linked...I |
01e0 | 20 6c 65 66 74 20 74 68 65 20 64 6f 73 20 6c 69 6e 65 20 65 6e 64 69 6e 67 73 20 61 6c 6f 6e 65 | .left.the.dos.line.endings.alone |
0200 | 2c 0a 74 68 61 74 20 6d 69 67 68 74 20 6f 72 20 6d 69 67 68 74 20 6e 6f 74 20 68 65 6c 70 20 77 | ,.that.might.or.might.not.help.w |
0220 | 69 6e 64 6f 77 73 20 75 73 65 72 73 0a 61 6e 64 20 69 74 20 77 6f 72 6b 73 20 66 6f 72 20 75 73 | indows.users.and.it.works.for.us |
0240 | 2e 0a 49 20 64 69 64 20 68 61 76 65 20 74 6f 20 68 61 63 6b 20 61 20 6e 65 77 6c 69 6e 65 20 28 | ..I.did.have.to.hack.a.newline.( |
0260 | 5e 40 29 20 66 6f 72 20 74 68 65 20 73 68 65 62 61 6e 67 20 74 68 6f 75 67 68 2e 0a 0a 64 69 66 | ^@).for.the.shebang.though...dif |
0280 | 66 20 2d 61 75 20 6f 6c 64 2f 63 6f 6e 76 65 72 74 5f 6c 69 6e 6b 73 2e 70 79 20 6e 65 77 2f 63 | f.-au.old/convert_links.py.new/c |
02a0 | 6f 6e 76 65 72 74 5f 6c 69 6e 6b 73 2e 70 79 0a 2d 2d 2d 20 6f 6c 64 2f 63 6f 6e 76 65 72 74 5f | onvert_links.py.---.old/convert_ |
02c0 | 6c 69 6e 6b 73 2e 70 79 09 32 30 31 33 2d 30 32 2d 31 31 20 32 32 3a 30 34 3a 34 31 2e 33 39 35 | links.py.2013-02-11.22:04:41.395 |
02e0 | 35 30 36 33 39 39 20 2b 30 31 30 30 0a 2b 2b 2b 20 6e 65 77 2f 63 6f 6e 76 65 72 74 5f 6c 69 6e | 506399.+0100.+++.new/convert_lin |
0300 | 6b 73 2e 70 79 09 32 30 31 33 2d 30 32 2d 31 32 20 30 31 3a 35 33 3a 30 38 2e 31 38 32 33 33 32 | ks.py.2013-02-12.01:53:08.182332 |
0320 | 36 37 37 20 2b 30 31 30 30 0a 40 40 20 2d 31 2c 33 20 2b 31 2c 35 20 40 40 0a 2b 23 21 2f 75 73 | 677.+0100.@@.-1,3.+1,5.@@.+#!/us |
0340 | 72 2f 62 69 6e 2f 70 79 74 68 6f 6e 32 00 0d 0a 2b 23 0d 0a 20 27 27 27 20 43 6f 6e 76 65 72 74 | r/bin/python2...+#...'''.Convert |
0360 | 20 43 61 6d 65 6c 43 61 73 65 20 6c 69 6e 6b 73 20 69 6e 20 61 20 76 69 6d 77 69 6b 69 20 74 6f | .CamelCase.links.in.a.vimwiki.to |
0380 | 20 65 6e 63 6c 6f 73 69 6e 67 20 77 69 74 68 20 64 6f 75 62 6c 65 20 73 71 75 61 72 65 0d 0a 20 | .enclosing.with.double.square... |
03a0 | 62 72 61 63 6b 65 74 20 66 6f 72 6d 61 74 2e 20 20 45 72 72 73 20 6f 6e 20 74 68 65 20 73 61 66 | bracket.format...Errs.on.the.saf |
03c0 | 65 20 73 69 64 65 20 62 79 20 6f 6e 6c 79 20 63 6f 6e 76 65 72 74 69 6e 67 20 43 61 6d 65 6c 43 | e.side.by.only.converting.CamelC |
03e0 | 61 73 65 20 77 6f 72 64 73 20 74 68 61 74 0d 0a 20 68 61 76 65 20 61 20 63 6f 72 72 65 73 70 6f | ase.words.that...have.a.correspo |
0400 | 6e 64 69 6e 67 20 66 69 6c 65 2e 20 0d 0a 40 40 20 2d 37 2c 32 37 20 2b 39 2c 33 32 20 40 40 0a | nding.file....@@.-7,27.+9,32.@@. |
0420 | 20 63 6f 6e 76 65 72 73 69 6f 6e 73 2e 20 20 43 61 72 65 66 75 6c 6c 79 20 63 68 65 63 6b 20 74 | .conversions...Carefully.check.t |
0440 | 68 65 20 66 69 6c 65 73 20 61 6e 64 20 6c 69 6e 6b 73 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 | he.files.and.links.that.will.be. |
0460 | 63 6f 6e 76 65 72 74 65 64 2e 0d 0a 20 0d 0a 20 55 73 61 67 65 3a 0d 0a 2d 20 20 20 20 70 79 74 | converted.......Usage:..-....pyt |
0480 | 68 6f 6e 20 63 6f 6e 76 65 72 74 5f 6c 69 6e 6b 73 2e 70 79 20 77 69 6b 69 5f 64 69 72 65 63 74 | hon.convert_links.py.wiki_direct |
04a0 | 6f 72 79 0d 0a 2d 0d 0a 2d 42 75 67 73 3a 0d 0a 2d 2a 20 54 4f 44 4f 20 43 61 6d 65 6c 43 61 73 | ory..-..-Bugs:..-*.TODO.CamelCas |
04c0 | 65 20 6c 69 6e 6b 73 20 61 6c 72 65 61 64 79 20 77 72 61 70 70 65 64 20 69 6e 20 5b 5b 20 77 69 | e.links.already.wrapped.in.[[.wi |
04e0 | 6c 6c 20 68 61 76 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 5b 5b 20 61 64 64 65 64 0d 0a 2d 2a 20 | ll.have.additional.[[.added..-*. |
0500 | 41 6c 6c 20 69 6e 73 74 61 6e 63 65 73 20 6f 66 20 66 69 6c 65 6e 61 6d 65 73 20 77 69 6c 6c 20 | All.instances.of.filenames.will. |
0520 | 62 65 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 20 73 6f 6d 65 20 63 61 73 65 73 20 74 68 69 73 20 | be.converted.in.some.cases.this. |
0540 | 6d 69 67 68 74 20 62 65 20 69 6e 63 6f 72 72 65 63 74 0d 0a 2b 20 20 20 20 63 6f 6e 76 65 72 74 | might.be.incorrect..+....convert |
0560 | 5f 6c 69 6e 6b 73 2e 70 79 20 5b 77 69 6b 69 5f 64 69 72 65 63 74 6f 72 79 5d 0d 0a 20 0d 0a 20 | _links.py.[wiki_directory]...... |
0580 | 4c 69 63 65 6e 73 65 3a 20 47 50 4c 33 0d 0a 20 41 75 74 68 6f 72 3a 20 4a 75 6c 69 61 6e 20 52 | License:.GPL3...Author:.Julian.R |
05a0 | 79 64 65 0d 0a 2d 0d 0a 2b 50 61 74 63 68 65 64 20 62 79 3a 20 4a 6f 68 61 6e 6e 65 73 20 44 65 | yde..-..+Patched.by:.Johannes.De |
05c0 | 77 65 6e 64 65 72 20 28 41 72 63 68 20 4c 69 6e 75 78 20 70 61 63 6b 61 67 65 29 0d 0a 20 27 27 | wender.(Arch.Linux.package)...'' |
05e0 | 27 0d 0a 20 0d 0a 20 69 6d 70 6f 72 74 20 73 79 73 0d 0a 20 69 6d 70 6f 72 74 20 6f 73 0d 0a 2b | '......import.sys...import.os..+ |
0600 | 69 6d 70 6f 72 74 20 72 65 0d 0a 20 0d 0a 20 64 65 66 20 69 73 5f 63 61 6d 65 6c 63 61 73 65 28 | import.re......def.is_camelcase( |
0620 | 73 29 3a 0d 0a 2d 20 20 20 20 23 20 77 6f 72 6b 73 20 71 75 69 74 65 20 77 65 6c 6c 20 62 75 74 | s):..-....#.works.quite.well.but |
0640 | 20 43 61 6d 65 6c 63 61 73 65 20 72 65 74 75 72 6e 73 20 74 72 75 65 0d 0a 2d 20 20 20 20 72 65 | .Camelcase.returns.true..-....re |
0660 | 74 75 72 6e 20 28 73 20 21 3d 20 73 2e 6c 6f 77 65 72 28 29 29 20 61 6e 64 20 28 73 20 21 3d 20 | turn.(s.!=.s.lower()).and.(s.!=. |
0680 | 73 2e 75 70 70 65 72 28 29 29 0d 0a 2b 20 20 20 20 69 66 20 28 73 20 21 3d 20 73 2e 6c 6f 77 65 | s.upper())..+....if.(s.!=.s.lowe |
06a0 | 72 28 29 29 20 61 6e 64 20 28 73 20 21 3d 20 73 2e 75 70 70 65 72 28 29 29 3a 0d 0a 2b 20 20 20 | r()).and.(s.!=.s.upper()):..+... |
06c0 | 20 20 20 20 20 23 20 63 61 6e 64 69 64 61 74 65 73 0d 0a 2b 20 20 20 20 20 20 20 20 73 32 20 3d | .....#.candidates..+........s2.= |
06e0 | 20 73 5b 31 3a 5d 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 74 68 69 73 20 69 73 20 74 68 65 20 72 | .s[1:]..+........#.this.is.the.r |
0700 | 65 61 6c 20 74 65 73 74 2e 20 46 69 72 73 74 20 63 68 61 72 61 63 74 65 72 20 62 69 67 20 69 73 | eal.test..First.character.big.is |
0720 | 20 73 74 69 6c 6c 20 6f 6b 61 79 0d 0a 2b 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 73 32 | .still.okay..+........return.(s2 |
0740 | 20 21 3d 20 73 32 2e 6c 6f 77 65 72 28 29 29 20 61 6e 64 20 28 73 32 20 21 3d 20 73 32 2e 75 70 | .!=.s2.lower()).and.(s2.!=.s2.up |
0760 | 70 65 72 28 29 29 0d 0a 20 0d 0a 20 0d 0a 20 77 69 6b 69 5f 65 78 74 20 3d 20 27 2e 77 69 6b 69 | per()).........wiki_ext.=.'.wiki |
0780 | 27 0d 0a 2d 62 61 73 65 64 69 72 20 3d 20 73 79 73 2e 61 72 67 76 5b 31 5d 20 23 20 62 61 73 65 | '..-basedir.=.sys.argv[1].#.base |
07a0 | 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65 20 77 69 6b 69 0d 0a 2b 0d 0a 2b 69 66 20 6c | .directory.of.the.wiki..+..+if.l |
07c0 | 65 6e 28 73 79 73 2e 61 72 67 76 29 20 3c 20 32 20 6f 72 20 73 79 73 2e 61 72 67 76 5b 31 5d 20 | en(sys.argv).<.2.or.sys.argv[1]. |
07e0 | 69 6e 20 5b 22 2d 68 22 2c 20 22 2d 2d 68 65 6c 70 22 5d 3a 0d 0a 2b 20 20 20 20 70 72 69 6e 74 | in.["-h",."--help"]:..+....print |
0800 | 28 22 55 73 61 67 65 3a 20 25 73 20 5b 77 69 6b 69 5f 64 69 72 65 63 74 6f 72 79 5d 22 20 25 20 | ("Usage:.%s.[wiki_directory]".%. |
0820 | 73 79 73 2e 61 72 67 76 5b 30 5d 29 0d 0a 2b 20 20 20 20 73 79 73 2e 65 78 69 74 28 2d 31 29 0d | sys.argv[0])..+....sys.exit(-1). |
0840 | 0a 2b 65 6c 73 65 3a 0d 0a 2b 20 20 20 20 62 61 73 65 64 69 72 20 3d 20 73 79 73 2e 61 72 67 76 | .+else:..+....basedir.=.sys.argv |
0860 | 5b 31 5d 20 23 20 62 61 73 65 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65 20 77 69 6b 69 | [1].#.base.directory.of.the.wiki |
0880 | 0d 0a 20 23 6f 75 74 70 75 74 64 69 72 20 3d 20 73 79 73 2e 61 72 67 76 5b 32 5d 0d 0a 20 0d 0a | ...#outputdir.=.sys.argv[2]..... |
08a0 | 20 23 20 67 65 6e 65 72 61 74 65 20 64 69 63 74 69 6f 6e 61 72 79 20 6f 66 20 66 69 6c 65 20 6e | .#.generate.dictionary.of.file.n |
08c0 | 61 6d 65 73 0d 0a 40 40 20 2d 36 30 2c 37 20 2b 36 37 2c 32 31 20 40 40 0a 20 20 20 20 20 63 6f | ames..@@.-60,7.+67,21.@@......co |
08e0 | 6e 74 65 6e 74 73 20 3d 20 6f 70 65 6e 28 66 6e 61 6d 65 29 2e 72 65 61 64 28 29 0d 0a 20 20 20 | ntents.=.open(fname).read()..... |
0900 | 20 20 23 20 72 65 70 6c 61 63 65 20 65 61 63 68 20 77 69 6b 69 5f 6c 69 6e 6b 20 77 69 74 68 20 | ..#.replace.each.wiki_link.with. |
0920 | 74 68 65 20 6e 65 77 20 66 6f 72 6d 20 66 6f 72 20 74 68 69 73 20 66 69 6c 65 0d 0a 20 20 20 20 | the.new.form.for.this.file...... |
0940 | 20 66 6f 72 20 77 69 6b 69 5f 6c 69 6e 6b 20 69 6e 20 77 69 6b 69 5f 6c 69 6e 6b 73 3a 0d 0a 2d | .for.wiki_link.in.wiki_links:..- |
0960 | 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 73 20 3d 20 63 6f 6e 74 65 6e 74 73 2e 72 65 70 6c | ........contents.=.contents.repl |
0980 | 61 63 65 28 77 69 6b 69 5f 6c 69 6e 6b 2c 20 27 5b 5b 27 20 2b 20 77 69 6b 69 5f 6c 69 6e 6b 20 | ace(wiki_link,.'[['.+.wiki_link. |
09a0 | 2b 20 27 5d 5d 27 29 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 6f 6e 6c 79 20 63 68 61 6e 67 65 20 | +.']]')..+........#.only.change. |
09c0 | 77 68 65 6e 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 6c 69 6e 6b 73 20 74 61 67 73 20 61 72 6f | when.there.are.no.links.tags.aro |
09e0 | 75 6e 64 2c 20 79 65 74 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 69 6e 20 68 74 74 70 20 6c 69 6e | und,.yet..+........#.in.http.lin |
0a00 | 6b 73 20 6e 6f 74 68 69 6e 67 20 73 68 6f 75 6c 64 20 62 65 20 63 68 61 6e 67 65 64 2c 20 74 6f | ks.nothing.should.be.changed,.to |
0a20 | 6f 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 74 68 61 74 20 69 73 20 75 70 20 66 72 6f 6e 74 3a 0d | o..+........#.that.is.up.front:. |
0a40 | 0a 2b 20 20 20 20 20 20 20 20 23 20 20 20 77 68 65 6e 20 69 74 20 73 74 61 72 74 73 20 74 68 65 | .+........#...when.it.starts.the |
0a60 | 20 6c 69 6e 65 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 20 20 77 68 65 6e 20 74 68 65 72 65 20 69 | .line..+........#...when.there.i |
0a80 | 73 20 61 20 73 70 61 63 65 20 69 6e 20 66 72 6f 6e 74 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 20 | s.a.space.in.front..+........#.. |
0aa0 | 20 77 68 65 72 65 20 74 68 65 72 65 20 61 72 65 20 6e 6f 6e 2d 6c 65 74 74 65 72 73 20 61 6e 64 | .where.there.are.non-letters.and |
0ac0 | 20 61 20 73 70 61 63 65 20 69 6e 20 66 72 6f 6e 74 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 20 20 | .a.space.in.front..+........#... |
0ae0 | 20 20 20 20 28 74 68 65 20 6c 61 73 74 20 6f 6e 65 20 64 6f 65 73 6e 27 74 20 61 63 63 65 70 74 | ....(the.last.one.doesn't.accept |
0b00 | 20 5b 29 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 61 6e 64 20 69 6e 20 74 68 65 20 62 61 63 6b 3a | .[)..+........#.and.in.the.back: |
0b20 | 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 20 20 63 61 6e 20 62 65 20 61 6e 79 74 68 69 6e 67 20 61 | ..+........#...can.be.anything.a |
0b40 | 73 20 6c 6f 6e 67 20 61 73 20 69 74 20 69 73 20 6e 6f 20 6c 65 74 74 65 72 20 61 6e 64 20 6e 6f | s.long.as.it.is.no.letter.and.no |
0b60 | 20 5d 0d 0a 2b 20 20 20 20 20 20 20 20 23 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 | .]..+........#.The.difference.be |
0b80 | 74 77 65 65 6e 20 66 72 6f 6e 74 20 61 6e 64 20 62 61 63 6b 20 69 73 20 74 6f 20 6e 6f 74 20 63 | tween.front.and.back.is.to.not.c |
0ba0 | 61 74 63 68 20 68 74 74 70 20 6c 69 6e 6b 73 0d 0a 2b 20 20 20 20 20 20 20 20 70 61 74 74 65 72 | atch.http.links..+........patter |
0bc0 | 6e 20 3d 20 72 27 28 28 5e 7c 5c 73 29 5b 5e 5b 5c 77 5d 2a 29 25 73 28 5b 5e 5d 5c 77 5d 7c 5c | n.=.r'((^|\s)[^[\w]*)%s([^]\w]|\ |
0be0 | 73 7c 24 29 27 20 25 20 77 69 6b 69 5f 6c 69 6e 6b 0d 0a 2b 20 20 20 20 20 20 20 20 72 65 70 6c | s|$)'.%.wiki_link..+........repl |
0c00 | 61 63 65 6d 65 6e 74 20 3d 20 72 27 5c 31 5b 5b 25 73 5d 5d 5c 33 27 20 25 20 77 69 6b 69 5f 6c | acement.=.r'\1[[%s]]\3'.%.wiki_l |
0c20 | 69 6e 6b 0d 0a 2b 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 73 20 3d 20 72 65 2e 73 75 62 28 | ink..+........contents.=.re.sub( |
0c40 | 70 61 74 74 65 72 6e 2c 20 72 65 70 6c 61 63 65 6d 65 6e 74 2c 20 63 6f 6e 74 65 6e 74 73 2c 20 | pattern,.replacement,.contents,. |
0c60 | 66 6c 61 67 73 3d 72 65 2e 55 4e 49 43 4f 44 45 29 0d 0a 20 20 20 20 20 23 20 73 61 76 65 20 6d | flags=re.UNICODE).......#.save.m |
0c80 | 6f 64 69 66 69 65 64 20 63 6f 6e 74 65 6e 74 73 0d 0a 20 20 20 20 20 23 70 72 69 6e 74 20 27 53 | odified.contents.......#print.'S |
0ca0 | 61 76 69 6e 67 27 2c 20 66 6e 61 6d 65 0d 0a 20 20 20 20 20 6f 70 65 6e 28 66 6e 61 6d 65 2c 20 | aving',.fname.......open(fname,. |
0cc0 | 27 77 27 29 2e 77 72 69 74 65 28 63 6f 6e 74 65 6e 74 73 29 0d 0a 2b 0d 0a 2b 23 20 76 69 6d 3a | 'w').write(contents)..+..+#.vim: |
0ce0 | 73 65 74 20 74 73 3d 34 20 73 77 3d 34 20 65 74 3a 0d 0a | set.ts=4.sw=4.et:.. |