-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy patht-webfilter.mkiv
106 lines (82 loc) · 2.65 KB
/
t-webfilter.mkiv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
%D \module
%D [ file=t-webfilter,
%D version=2011.01.15,
%D title=\CONTEXT\ User Module,
%D subtitle=Web Filter,
%D author=Aditya Mahajan,
%D date=\currentdate,
%D copyright=Aditya Mahajan,
%D email=adityam <at> umich <dot> edu,
%D license=Simplified BSD License]
\writestatus{loading}{ConTeXt User Module / Filter}
\startinterface all
\setinterfaceconstant {figuresetup} {figuresetup}
\setinterfaceconstant {transform} {transform}
\stopinterface
\startmodule [webfilter]
\unprotect
\ctxloadluafile{t-webfilter}
\definenamespace
[webfilter]
[\c!type=module,
\c!name=webfilter,
\c!command=\v!yes,
setup=\v!list,
\c!style=\v!no,
\s!parent=webfilter]
\setupwebfilter
[\c!prefix=,
\c!suffix=,
\c!figuresetup=webfilter,
\c!transform=default]
\defineexternalfigure[webfilter][maxwidth=\textwidth,maxheight=\textheight]
\appendtoks
\setevalue{\e!start\currentwebfilter}{\dostartwebfilter[\currentwebfilter]}
\setvalue{\e!stop\currentwebfilter}{\doprocesswebfilter}%
\to \everydefinewebfilter
\unexpanded\def\dostartwebfilter#1[#2]% #1 is for space
{\bgroup\obeylines\dodoubleargument\dodostartwebfilter[#2]}
\def\dodostartwebfilter[#1][#2]%
{% Initializations
\egroup % \bgroup in \start#1 -- see lua file
\edef\currentwebfilter{#1}%
\getparameters[\????webfilter#1][#2]%
\dostartbuffer[#1][\e!start#1][\e!stop#1]}
\def\doprocesswebfilter%
{\ctxlua{thirddata.webfilter.processwebfilter
(\!!bs \currentwebfilter \!!es,
\!!bs \webfilterparameter\c!transform \!!es,
\!!bs \webfilterparameter\c!prefix \!!es,
\!!bs \webfilterparameter\c!suffix \!!es,
\!!bs \webfilterparameter\c!figuresetup\!!es)}}
\definewebfilter
[GoogleCharts]
[\c!prefix={http://chart.apis.google.com/chart?},
\c!transform=ampersand,
\c!suffix=,
\c!figuresetup=GoogleCharts,
]
\defineexternalfigure[GoogleCharts][method=png,scale=4000]
\definewebfilter
[OpenStreetMap]
[\c!prefix={http://parent.tile.openstreetmap.org/cgi-bin/export?},
\c!transform=ampersand,
\c!suffix=,
\c!figuresetup=OpenStreetMap,
]
\defineexternalfigure[OpenStreetMap][maxwidth=\textwidth,maxheight=\textheight]
\definewebfilter
[UML]
[\c!prefix={http://yuml.me/diagram/scruffy/\webfilterparameter\c!alternative/},
\c!suffix=.pdf,
\c!alternative=usecase, %class activity usecase
]
\defineexternalfigure[websequence][maxwidth=\textwidth,maxheight=\textheight,\c!method=png]
\definewebfilter
[websequence]
[\c!prefix={http://www.websequencediagrams.com/},
\c!transform=websequence,
\c!figuresetup=websequence]
\protect
\stopmodule
\endinput