- New /api/render-markdown proxy to Gitea (configured via config.yaml) - lib/config.mjs loads config.yaml with yaml-js - Edit/Preview tabs on the body field in the task dialog - Title and body rendered as markdown inline in the task list - Gitea markup+chroma CSS extracted and vendored to public/gitea-markup.css - Markdown cached in memory per text string Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
65 lines
1.9 KiB
HTML
65 lines
1.9 KiB
HTML
<!-- Task list item -->
|
|
<template id="t-task-row">
|
|
<div class="task-row">
|
|
<span class="task-id"></span>
|
|
<span class="task-status"></span>
|
|
<span class="task-priority"></span>
|
|
<div class="task-main">
|
|
<div class="task-title markup"></div>
|
|
<div class="task-body markup" hidden></div>
|
|
</div>
|
|
<span class="task-tags"></span>
|
|
<div class="task-actions">
|
|
<button class="btn-edit">Edit</button>
|
|
<button class="btn-delete">Delete</button>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<!-- Task form dialog -->
|
|
<template id="t-task-dialog">
|
|
<dialog class="task-dialog">
|
|
<form method="dialog">
|
|
<h2 class="dialog-title"></h2>
|
|
<label>Title
|
|
<input name="title" type="text" required autocomplete="off">
|
|
</label>
|
|
<div class="field-with-tabs">
|
|
<div class="tab-bar">
|
|
<button type="button" class="tab-btn active" data-tab="edit">Edit</button>
|
|
<button type="button" class="tab-btn" data-tab="preview">Preview</button>
|
|
<span class="tab-label">Body</span>
|
|
</div>
|
|
<div class="tab-pane" data-tab="edit">
|
|
<textarea name="body" rows="8"></textarea>
|
|
</div>
|
|
<div class="tab-pane" data-tab="preview" hidden>
|
|
<div class="markup preview-content"></div>
|
|
</div>
|
|
</div>
|
|
<label>Status
|
|
<select name="status">
|
|
<option value="open">Open</option>
|
|
<option value="deferred">Deferred</option>
|
|
<option value="done">Done</option>
|
|
<option value="cancelled">Cancelled</option>
|
|
</select>
|
|
</label>
|
|
<label>Priority
|
|
<select name="priority">
|
|
<option value="high">High</option>
|
|
<option value="normal" selected>Normal</option>
|
|
<option value="low">Low</option>
|
|
</select>
|
|
</label>
|
|
<label>Tags (comma-separated)
|
|
<input name="tags" type="text" autocomplete="off">
|
|
</label>
|
|
<div class="dialog-buttons">
|
|
<button type="submit" class="btn-save">Save</button>
|
|
<button type="button" class="btn-cancel">Cancel</button>
|
|
</div>
|
|
</form>
|
|
</dialog>
|
|
</template>
|