260 lines
14 KiB
Plaintext
260 lines
14 KiB
Plaintext
<h2 class="my-3">{{ page_title }}</h2>
|
|
<article>
|
|
<form action="{{ "admin/settings/rss/save" | relative_link }}" method="post">
|
|
<input type="hidden" name="{{ csrf.form_field_name }}" value="{{ csrf.request_token }}">
|
|
<input type="hidden" name="Id" value="{{ model.id }}">
|
|
{%- assign typ = model.source_type -%}
|
|
<div class="container">
|
|
<div class="row pb-3">
|
|
<div class="col">
|
|
<a href="{{ "admin/settings/rss" | relative_link }}">« Back to RSS Settings</a>
|
|
</div>
|
|
</div>
|
|
<div class="row pb-3">
|
|
<div class="col-12 col-lg-6">
|
|
<fieldset class="container pb-0">
|
|
<legend>Identification</legend>
|
|
<div class="row">
|
|
<div class="col">
|
|
<div class="form-floating">
|
|
<input type="text" name="Path" id="path" class="form-control" placeholder="Relative Feed Path"
|
|
value="{{ model.path }}">
|
|
<label for="path">Relative Feed Path</label>
|
|
<span class="form-text fst-italic">Appended to {{ web_log.url_base }}/</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col py-3 d-flex align-self-center justify-content-center">
|
|
<div class="form-check form-switch">
|
|
<input type="checkbox" name="IsPodcast" id="isPodcast" class="form-check-input" value="true"
|
|
{%- if model.is_podcast %} checked="checked"{% endif %} onclick="Admin.checkPodcast()">
|
|
<label for="isPodcast" class="form-check-label">This Is a Podcast Feed</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="col-12 col-lg-6">
|
|
<fieldset class="container pb-0">
|
|
<legend>Feed Source</legend>
|
|
<div class="row d-flex align-items-center">
|
|
<div class="col-1 d-flex justify-content-end pb-3">
|
|
<div class="form-check form-check-inline me-0">
|
|
<input type="radio" name="SourceType" id="sourceTypeCat" class="form-check-input" value="category"
|
|
{%- unless typ == "tag" %} checked="checked" {% endunless -%}
|
|
onclick="Admin.customFeedBy('category')">
|
|
<label for="sourceTypeCat" class="form-check-label d-none">Category</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-11 pb-3">
|
|
<div class="form-floating">
|
|
<select name="SourceValue" id="sourceValueCat" class="form-control" required
|
|
{%- if typ == "tag" %} disabled="disabled"{% endif %}>
|
|
<option value="">– Select Category –</option>
|
|
{% for cat in categories -%}
|
|
<option value="{{ cat.id }}"
|
|
{%- if typ != "tag" and model.source_value == cat.id %} selected="selected"{% endif -%}>
|
|
{% for it in cat.parent_names %}{{ it }} ⟩ {% endfor %}{{ cat.name }}
|
|
</option>
|
|
{%- endfor %}
|
|
</select>
|
|
<label for="sourceValueCat">Category</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-1 d-flex justify-content-end pb-3">
|
|
<div class="form-check form-check-inline me-0">
|
|
<input type="radio" name="SourceType" id="sourceTypeTag" class="form-check-input" value="tag"
|
|
{%- if typ == "tag" %} checked="checked"{% endif %} onclick="Admin.customFeedBy('tag')">
|
|
<label for="sourceTypeTag" class="form-check-label d-none">Tag</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-11 pb-3">
|
|
<div class="form-floating">
|
|
<input type="text" name="SourceValue" id="sourceValueTag" class="form-control" placeholder="Tag"
|
|
{%- unless typ == "tag" %} disabled="disabled"{% endunless %} required
|
|
{%- if typ == "tag" %} value="{{ model.source_value }}"{% endif %}>
|
|
<label for="sourceValueTag">Tag</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="row pb-3">
|
|
<div class="col">
|
|
<fieldset class="container" id="podcastFields"{% unless model.is_podcast %} disabled="disabled"{%endunless%}>
|
|
<legend>Podcast Settings</legend>
|
|
<div class="row">
|
|
<div class="col-12 col-md-5 col-lg-4 offset-lg-1 pb-3">
|
|
<div class="form-floating">
|
|
<input type="text" name="Title" id="title" class="form-control" placeholder="Title" required
|
|
value="{{ model.title }}">
|
|
<label for="title">Title</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-12 col-md-4 col-lg-4 pb-3">
|
|
<div class="form-floating">
|
|
<input type="text" name="Subtitle" id="subtitle" class="form-control" placeholder="Subtitle"
|
|
value="{{ model.subtitle }}">
|
|
<label for="subtitle">Podcast Subtitle</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-12 col-md-3 col-lg-2 pb-3">
|
|
<div class="form-floating">
|
|
<input type="number" name="ItemsInFeed" id="itemsInFeed" class="form-control" placeholder="Items"
|
|
required value="{{ model.items_in_feed }}">
|
|
<label for="itemsInFeed"># Episodes</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-12 col-md-5 col-lg-4 offset-lg-1 pb-3">
|
|
<div class="form-floating">
|
|
<input type="text" name="AppleCategory" id="appleCategory" class="form-control"
|
|
placeholder="iTunes Category" required value="{{ model.apple_category }}">
|
|
<label for="appleCategory">iTunes Category</label>
|
|
<span class="form-text fst-italic">
|
|
<a href="https://www.thepodcasthost.com/planning/itunes-podcast-categories/" target="_blank"
|
|
rel="noopener">
|
|
iTunes Category / Subcategory List
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12 col-md-4 pb-3">
|
|
<div class="form-floating">
|
|
<input type="text" name="AppleSubcategory" id="appleSubcategory" class="form-control"
|
|
placeholder="iTunes Subcategory" value="{{ model.apple_subcategory }}">
|
|
<label for="appleSubcategory">iTunes Subcategory</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-12 col-md-3 col-lg-2 pb-3">
|
|
<div class="form-floating">
|
|
<select name="Explicit" id="explicit" class="form-control" required>
|
|
<option value="yes"{% if model.explicit == "yes" %} selected="selected"{% endif %}>Yes</option>
|
|
<option value="no"{% if model.explicit == "no" %} selected="selected"{% endif %}>No</option>
|
|
<option value="clean"{% if model.explicit == "clean" %} selected="selected"{% endif %}>
|
|
Clean
|
|
</option>
|
|
</select>
|
|
<label for="explicit">Explicit Rating</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-12 col-md-6 col-lg-4 offset-xxl-1 pb-3">
|
|
<div class="form-floating">
|
|
<input type="text" name="DisplayedAuthor" id="displayedAuthor" class="form-control"
|
|
placeholder="Author" required value="{{ model.displayed_author }}">
|
|
<label for="displayedAuthor">Displayed Author</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-12 col-md-6 col-lg-4 pb-3">
|
|
<div class="form-floating">
|
|
<input type="email" name="Email" id="email" class="form-control" placeholder="Email" required
|
|
value="{{ model.email }}">
|
|
<label for="email">Author E-mail</label>
|
|
<span class="form-text fst-italic">For iTunes, must match registered e-mail</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12 col-sm-5 col-md-4 col-lg-4 col-xl-3 offset-xl-1 col-xxl-2 offset-xxl-0">
|
|
<div class="form-floating">
|
|
<input type="text" name="DefaultMediaType" id="defaultMediaType" class="form-control"
|
|
placeholder="Media Type" value="{{ model.default_media_type }}">
|
|
<label for="defaultMediaType">Default Media Type</label>
|
|
<span class="form-text fst-italic">Optional; blank for no default</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12 col-sm-7 col-md-8 col-lg-10 offset-lg-1">
|
|
<div class="form-floating">
|
|
<input type="text" name="ImageUrl" id="imageUrl" class="form-control" placeholder="Image URL" required
|
|
value="{{ model.image_url }}">
|
|
<label for="imageUrl">Image URL</label>
|
|
<span class="form-text fst-italic">Relative URL will be appended to {{ web_log.url_base }}/</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row pb-3">
|
|
<div class="col-12 col-lg-10 offset-lg-1">
|
|
<div class="form-floating">
|
|
<input type="text" name="Summary" id="summary" class="form-control" placeholder="Summary" required
|
|
value="{{ model.summary }}">
|
|
<label for="summary">Summary</label>
|
|
<span class="form-text fst-italic">Displayed in podcast directories</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row pb-3">
|
|
<div class="col-12 col-lg-10 offset-lg-1">
|
|
<div class="form-floating">
|
|
<input type="text" name="MediaBaseUrl" id="mediaBaseUrl" class="form-control"
|
|
placeholder="Media Base URL" value="{{ model.media_base_url }}">
|
|
<label for="mediaBaseUrl">Media Base URL</label>
|
|
<span class="form-text fst-italic">Optional; prepended to episode media file if present</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-12 col-lg-5 offset-lg-1 pb-3">
|
|
<div class="form-floating">
|
|
<input type="text" name="FundingUrl" id="fundingUrl" class="form-control" placeholder="Funding URL"
|
|
value="{{ model.funding_url }}">
|
|
<label for="fundingUrl">Funding URL</label>
|
|
<span class="form-text fst-italic">
|
|
Optional; URL describing donation options for this podcast, relative URL supported
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12 col-lg-5 pb-3">
|
|
<div class="form-floating">
|
|
<input type="text" name="FundingText" id="fundingText" class="form-control" maxlength="128"
|
|
placeholder="Funding Text" value="{{ model.funding_text }}">
|
|
<label for="fundingText">Funding Text</label>
|
|
<span class="form-text fst-italic">Optional; text for the funding link</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row pb-3">
|
|
<div class="col-8 col-lg-5 offset-lg-1 pb-3">
|
|
<div class="form-floating">
|
|
<input type="text" name="PodcastGuid" id="guid" class="form-control" placeholder="GUID"
|
|
value="{{ model.podcast_guid }}">
|
|
<label for="guid">Podcast GUID</label>
|
|
<span class="form-text fst-italic">
|
|
Optional; v5 UUID uniquely identifying this podcast; once entered, do not change this value
|
|
(<a href="https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md#guid"
|
|
target="_blank">documentation</a>)
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-4 col-lg-3 offset-lg-2 pb-3">
|
|
<div class="form-floating">
|
|
<select name="Medium" id="medium" class="form-control">
|
|
{% for med in medium_values -%}
|
|
<option value="{{ med[0] }}"{% if model.medium == med[0] %} selected{% endif %}>
|
|
{{ med[1] }}
|
|
</option>
|
|
{%- endfor %}
|
|
</select>
|
|
<label for="medium">Medium</label>
|
|
<span class="form-text fst-italic">
|
|
Optional; medium of the podcast content
|
|
(<a href="https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md#medium"
|
|
target="_blank">documentation</a>)
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="row pb-3">
|
|
<div class="col text-center">
|
|
<button type="submit" class="btn btn-primary">Save Changes</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</article>
|