aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates/index.html
blob: 3bd878edb45fb07bb5c4523dc5e184a91bc22646 (plain) (blame)
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<!doctype html>
<html lang="en">

<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>likha-pdf</title>
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/kj-sh604/noir.css@latest/out/noir.min.css" />
</head>

<body>
  <main>
    <h1>likha-pdf</h1>
    <p>simple markdown to pdf export.</p>

    <form id="convert-form" action="/convert" method="post">
      <label for="markdown">
        <h3>textarea</h3>
      </label>
      <textarea id="markdown" name="markdown" rows="16" placeholder="markdown goes here..." required
        style="font-family: monospace;"></textarea>

      <section id="image-upload-section">
        <label for="image"><small>image file</small></label>
        <input id="image" type="file" accept="image/*" />
        <button id="upload-button" type="button">insert image</button>
        <div id="upload-result" aria-live="polite"></div>
      </section>

      <section>
        <h3>pdf options</h3>

        <label for="paper_size">Paper size</label>
        <select id="paper_size" name="paper_size">
          <optgroup label="US / North America">
            <option value="letterpaper" selected>US Letter (8.5 × 11in)</option>
            <option value="legalpaper">US Legal (8.5 × 14in)</option>
            <option value="executivepaper">Executive (7 × 10in)</option>
            <option value="ledgerpaper">Ledger (17 × 11in)</option>
            <option value="tabloid">Tabloid (11 × 17in)</option>
            <option value="statement">Statement (5.5 × 8.5in)</option>
            <option value="flsa">FLSA (8.5 × 13in)</option>
          </optgroup>
          <optgroup label="ISO A">
            <option value="a0paper">A0 (841 × 1189mm)</option>
            <option value="a1paper">A1 (594 × 841mm)</option>
            <option value="a2paper">A2 (420 × 594mm)</option>
            <option value="a3paper">A3 (297 × 420mm)</option>
            <option value="a4paper">A4 (210 × 297mm)</option>
            <option value="a5paper">A5 (148 × 210mm)</option>
            <option value="a6paper">A6 (105 × 148mm)</option>
          </optgroup>
          <optgroup label="ISO B">
            <option value="b0paper">B0 (1000 × 1414mm)</option>
            <option value="b1paper">B1 (707 × 1000mm)</option>
            <option value="b2paper">B2 (500 × 707mm)</option>
            <option value="b3paper">B3 (353 × 500mm)</option>
            <option value="b4paper">B4 (250 × 353mm)</option>
            <option value="b5paper">B5 (176 × 250mm)</option>
            <option value="b6paper">B6 (125 × 176mm)</option>
          </optgroup>
          <optgroup label="ISO C">
            <option value="c4paper">C4 (229 × 324mm)</option>
            <option value="c5paper">C5 (162 × 229mm)</option>
            <option value="c6paper">C6 (114 × 162mm)</option>
          </optgroup>
        </select>

        <label for="margin">Margins</label>
        <select id="margin" name="margin">
          <option value="0.25in">Tight (0.25 in)</option>
          <option value="0.35in">Slim (0.35 in)</option>
          <option value="0.5in">Half (0.5 in)</option>
          <option value="0.75in">3/4ths (0.75 in)</option>
          <option value="1in" selected>Standard (1.0 in)</option>
          <option value="1.25in">Comfortable (1.25 in)</option>
          <option value="1.5in">Wide (1.5 in)</option>
          <option value="1.75in">Extra Wide (1.75 in)</option>
        </select>

        <fieldset>
          <legend>main font</legend>
          <label>
            <input type="radio" name="main_font" value="serif" checked /> serif
          </label>
          <label>
            <input type="radio" name="main_font" value="sans" /> sans-serif
          </label>
          <label>
            <input type="radio" name="main_font" value="system-ui" /> system-ui
          </label>
        </fieldset>

        <label for="line_spacing">Line spacing</label>
        <select id="line_spacing" name="line_spacing">
          <option value="1" selected>Single (1.0)</option>
          <option value="1.15">Relaxed (1.15)</option>
          <option value="1.5">One-and-a-half (1.5)</option>
          <option value="2">Double (2.0)</option>
        </select>

        <label>
          <input type="checkbox" name="page_numbers" value="on" checked /> show page numbers
        </label>

        <label>
          <input type="checkbox" name="disable_syntax_highlighting" value="on" /> disable syntax highlighting
        </label>

        <label>
          <input type="checkbox" name="disable_backgrounds" value="on" /> disable .pdf backgrounds
        </label>
      </section>

      <button id="convert-button" type="submit">generate pdf</button>
      <small id="convert-status" hidden>this may take a while...</small>
    </form>

    <section id="result" aria-live="polite"></section>
  </main>

  <script src="/static/main.js"></script>
</body>

</html>