<div><labelfor="owner">Owner</label><selectid="owner"name="owner"data-orgs="{% for o in orgs %}{{ o }} {% endfor %}">{% for o in owners %}<optionvalue="{{ o }}">{{ o }}</option>{% endfor %}</select></div>
<labelclass="choice-card"><inputtype="radio"name="visibility"value="public"checked><span><strong>Public</strong><spanclass="small mute">Anyone can see and clone it. You choose who may push.</span></span></label>
19
<labelclass="choice-card"><inputtype="radio"name="visibility"value="internal"><span><strong>Internal</strong><spanclass="small mute">Anyone signed in to this hub can see it.</span></span></label>
20
<labelclass="choice-card"><inputtype="radio"name="visibility"value="private"><span><strong>Private</strong><spanclass="small mute">Only you{% if !orgs.is_empty() %}, the organisation's members{% endif %} and the people you add.</span></span></label>
21
</fieldset>
22
23
<fieldsetclass="choices">
24
<legend>Start with <spanclass="small mute">(optional; left empty, it starts empty and takes its first push)</span></legend>
25
<labelclass="check"><inputtype="checkbox"name="readme"value="1"> a README with its name and description</label>
26
<divclass="row">
27
<div><labelfor="licence">Licence</label><selectid="licence"name="licence"><optionvalue="">none</option>{% for (id, what) in licences %}<optionvalue="{{ id }}">{{ id }}: {{ what }}</option>{% endfor %}</select></div>
28
<div><labelfor="ignore">.oxyignore</label><selectid="ignore"name="ignore"><optionvalue="">none</option>{% for l in ignores %}<option>{{ l }}</option>{% endfor %}</select></div>
29
</div>
30
<pclass="small mute">The hub commits these as you, signed with its key as your delegate, as it does for edits on the site.</p>
31
</fieldset>
32
33
<fieldsetclass="choices">
34
<legend>Project board</legend>
35
<labelclass="choice-card"><inputtype="radio"name="board"value=""checkeddata-board-none><span><strong>No board</strong><spanclass="small mute">Add its issues to a board later.</span></span></label>
36
<labelclass="choice-card"><inputtype="radio"name="board"value="new"data-board-new><span><strong>A new board</strong><spanclass="small mute">Backlog, Doing and Done, with finished work moving to Done. Its issues and proposals join the board as they open.</span></span></label>
{% if !boards.is_empty() %}<labelclass="choice-card"><inputtype="radio"name="board"value="existing"data-board-existing><span><strong>An existing board</strong><spanclass="small mute">Its issues and proposals join it as they open.</span></span></label>
39
<divclass="board-existing"><labelfor="board_n">Board</label><selectid="board_n"name="board_n"data-board-list>{% for (o, n, t) in boards %}<optionvalue="{{ n }}"data-owner="{{ o }}">{{ o }} #{{ n }}: {{ t }}</option>{% endfor %}</select></div>{% endif %}
40
</fieldset>
41
42
<detailsclass="storage"><summary>Storage <spanclass="small mute">(this server's disk, unless you keep it in your own bucket)</span></summary>
<label><inputtype="radio"name="storage"value="hub"checked> this server's disk</label>
46
<label><inputtype="radio"name="storage"value="bucket"> my own bucket (Amazon S3, Google Cloud Storage or Azure)</label>
47
</div>
48
<fieldsetclass="storage-bucket">
49
<legend>Your bucket <smallclass="mute">(only when kept in your own bucket)</small></legend>
50
<pclass="small mute">The repository's data lives in the bucket and this server keeps a cache. The bucket, or the prefix in it, must be empty. It is checked before anything is created. The credentials are sealed on this server and used only for this repository; give them read, write, list and delete under the prefix and nothing more.</p>