clj / site / index.html
537 words
  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
<!doctype html>
<html lang="en" data-releases="../releases.json">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>clj.git — ird-clj, Clojure client for the ird API</title>
<style>
  :root {
    color-scheme: dark;
    --paper: #12161c; --ink: #e8edf2; --ink-soft: #9aa7b3;
    --line: #263241; --card: #182029; --code-bg: #1f2a36; --accent: #7fc4a8;
  }
  @media (prefers-color-scheme: light) {
    :root {
      color-scheme: light;
      --paper: #f8f9fa; --ink: #232a30; --ink-soft: #61707d;
      --line: #dde4ea; --card: #ffffff; --code-bg: #eef2f5; --accent: #35836a;
    }
  }
  * { margin: 0; padding: 0; box-sizing: border-box; }
  body {
    background: var(--paper); color: var(--ink);
    font: 16.5px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
      "Helvetica Neue", Arial, sans-serif;
    padding: 64px 22px 90px;
  }
  main { max-width: 660px; margin: 0 auto; }
  h1 { font-size: 40px; font-weight: 600; letter-spacing: -.4px;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
  .tag { margin: 14px 0 34px; font-size: 18px; color: var(--ink-soft); }
  h2 { font-size: 20px; font-weight: 600; margin: 36px 0 10px; }
  p { margin: 10px 0; }
  a { color: var(--accent); }
  pre {
    background: var(--card); border: 1px solid var(--line); border-radius: 10px;
    padding: 13px 16px; overflow-x: auto; margin: 14px 0;
    font: 14px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;
  }
  code { font: 15px ui-monospace, SFMono-Regular, Menlo, monospace;
    background: var(--code-bg); border-radius: 5px; padding: 1px 6px; }
  pre code { background: none; padding: 0; }
  ul { padding-left: 22px; } li { margin: 6px 0; }
  footer { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--line);
    font-size: 14px; color: var(--ink-soft); }
  footer a { color: inherit; }
</style>
</head>
<body>
<main>
  <h1>clj.git</h1>
  <p class="tag"><strong>ird-clj</strong> — full-coverage Clojure client for the
  <a href="https://api.ird.ro/openapi.json">ird public API</a>: .ro domains, DNS
  (hosted zones, DNSSEC, bring-your-own-domain claims), VPS, tunnels, IPFS,
  P2P apps, and async jobs. Every one of the API's 161 operations is wrapped
  by a thin, documented function.</p>

  <h2>Use as a dependency</h2>
  <pre><code>;; deps.edn
ro.ird/ird-clj {:git/url "https://ird.cod-sursa.ro/clj.git"
                :git/tag "<span data-rel="clj.tag">v0.2.0</span>"
                :git/sha "<span data-rel="clj.tag_sha_short">319801b</span>"}</code></pre>
  <p>That is the latest release. To track the newest commit instead, pin
  <code>:git/sha "<span data-rel="clj.head">…</span>"</code> (or ask the mirror:
  <code>git ls-remote https://ird.cod-sursa.ro/clj.git HEAD</code>). The same
  coordinates are machine-readable in
  <a href="../releases.json">releases.json</a>.</p>

  <h2>Clone</h2>
  <pre><code>git clone https://ird.cod-sursa.ro/clj.git</code></pre>
  <p><a href="browse/">browse the source in your browser →</a></p>

  <h2>Quickstart</h2>
  <pre><code>(require '[ird.client :as ird]
         '[ird.domains :as domains])

(def c (ird/make-client {:api-key (System/getenv "IRD_API_KEY")}))

(domains/check c "example.ro")
;; =&gt; {:domain "example.ro" :status "registered" ...}</code></pre>
  <p>The full guide — authentication, pagination, async jobs, the domain
  safety gate, tests — is in the repo's <code>README.md</code>.</p>

  <h2>What's inside</h2>
  <ul>
    <li><code>src/ird/</code> — one namespace per API area
      (<code>domains</code>, <code>dns</code>, <code>vps</code>,
      <code>tunnels</code>, <code>ipfs</code>, <code>p2p</code>,
      <code>jobs</code>, …)</li>
    <li><code>spec/openapi.json</code> — the API spec the client is verified
      against, one-to-one, by the test suite</li>
    <li><code>test/ird/</code> — conformance, coverage and integration tests
      (<code>clojure -M:test</code>; live tests opt-in)</li>
  </ul>

  <h2>License</h2>
  <p>MIT.</p>

  <footer>
    part of <a href="https://ird.cod-sursa.ro/">ird.cod-sursa.ro</a> —
    public source, clonable straight from this domain.
  </footer>
</main>
<script>
// Fill release coordinates from the site's releases.json (written by the
// assembler from the mirrors it publishes); the static text is the fallback.
(function () {
  var els = document.querySelectorAll('[data-rel]');
  if (!els.length || !window.fetch) return;
  fetch(document.documentElement.getAttribute('data-releases') || 'releases.json')
    .then(function (r) { return r.ok ? r.json() : null; })
    .then(function (j) {
      if (!j || !j.apps) return;
      Array.prototype.forEach.call(els, function (el) {
        var k = el.getAttribute('data-rel').split('.'), a = j.apps[k[0]];
        var v = a && a[k[1]];
        if (typeof v === 'string' && v) el.textContent = v;
      });
    })
    .catch(function () {});
})();
</script>
</body>
</html>

static mirror of HEAD · about · clone: git clone https://ird.cod-sursa.ro/clj.git