2024-08-04 07:52:38 +02:00
|
|
|
{% set time = imp0rt( 'time' ) %}
|
2024-08-02 17:06:21 +02:00
|
|
|
<!doctype html>
|
|
|
|
<html lang="{{ data['language'] }}">
|
|
|
|
<head>
|
|
|
|
<meta charset="utf-8"/>
|
|
|
|
</head>
|
|
|
|
<style>
|
2024-08-02 18:31:15 +02:00
|
|
|
body { background-color: black; color: #999;}
|
2024-08-02 17:53:38 +02:00
|
|
|
p { }
|
2024-08-10 17:03:31 +02:00
|
|
|
div {
|
|
|
|
margin: 1%;
|
|
|
|
{# border-style: dashed; #}
|
|
|
|
}
|
2024-08-02 18:31:15 +02:00
|
|
|
/* unvisited link */
|
|
|
|
a:link {
|
|
|
|
color: blueviolet;
|
|
|
|
}
|
|
|
|
/* visited link */
|
|
|
|
a:visited {
|
|
|
|
color: #040;
|
|
|
|
}
|
|
|
|
/* mouse over link */
|
|
|
|
a:hover {
|
|
|
|
color: hotpink;
|
|
|
|
}
|
|
|
|
/* selected link */
|
|
|
|
a:active {
|
|
|
|
color: blue;
|
|
|
|
}
|
2024-08-02 17:06:21 +02:00
|
|
|
</style>
|
|
|
|
<BODY>
|
2025-02-17 13:40:53 +01:00
|
|
|
<P>(Post language {{ data['language'] }})</P>
|
2024-08-03 11:39:53 +02:00
|
|
|
{% if data['url'] != "" %}
|
|
|
|
<!-- URL -->
|
2024-08-10 17:03:31 +02:00
|
|
|
<A TARGET="_blank" HREF="{{ data['url'] }}">Post original page</A>
|
2024-08-03 11:39:53 +02:00
|
|
|
{% endif %}
|
2024-08-02 17:06:21 +02:00
|
|
|
<!-- creation_date -->
|
2024-08-10 17:03:31 +02:00
|
|
|
<P STYLE='font-size: 12px;'>
|
2024-08-04 08:06:35 +02:00
|
|
|
{% set created_date = time.strptime(data['created_at'], '%Y-%m-%dT%H:%M:%S.%fZ') %}
|
|
|
|
{{ time.strftime('%Y-%m-%d %H:%M:%S %zUTC', created_date) }}
|
2024-08-10 17:03:31 +02:00
|
|
|
</P>
|
|
|
|
|
|
|
|
<!-- account bloc -->
|
|
|
|
<TABLE>
|
|
|
|
<TR>
|
|
|
|
<TD>
|
|
|
|
<A HREF="{{ data['account']['url'] }}" TARGET="_blank">
|
|
|
|
<IMG ALT="{{ data['account']['display_name'] }} avatar image" SRC="{{ data['account']['avatar_static'] }}" STYLE="width:64px;height:64px;margin:1%;float: left;">
|
|
|
|
</A>
|
|
|
|
</TD>
|
|
|
|
<TD>
|
|
|
|
<A HREF="{{ data['account']['url'] }}" TARGET="_blank">
|
|
|
|
<B>{{ data['account']['display_name'] }} ({{ data['account']['acct'] }})</B>
|
|
|
|
</A>
|
|
|
|
</TD>
|
|
|
|
</TR>
|
|
|
|
</TABLE>
|
2024-08-02 17:06:21 +02:00
|
|
|
<!-- content block -->
|
2024-08-04 07:25:59 +02:00
|
|
|
<DIV STYLE='font-size: 24px;'>
|
2024-08-10 17:03:31 +02:00
|
|
|
{% if data['spoiler'] != "" and data['spoiler'] != null %}
|
2025-02-17 13:15:10 +01:00
|
|
|
{% if data['translated_spoiler'] != "" and data['translated_spoiler'] != null %}
|
2025-02-17 13:31:24 +01:00
|
|
|
<!-- translated spoiler -->
|
2025-02-18 10:50:06 +01:00
|
|
|
(Translated spoiler)
|
2025-02-17 13:15:10 +01:00
|
|
|
<DIV CLASS='item-spoiler'>
|
|
|
|
{{ data['translated_spoiler'] }}
|
|
|
|
</DIV>
|
2025-02-18 10:50:06 +01:00
|
|
|
(Original spoiler)
|
2025-02-17 13:15:10 +01:00
|
|
|
{% endif %}
|
2025-02-17 13:31:24 +01:00
|
|
|
<!-- spoiler -->
|
2024-08-02 17:06:21 +02:00
|
|
|
<DIV CLASS='item-spoiler'>
|
|
|
|
{{ data['spoiler'] }}
|
|
|
|
</DIV>
|
2024-08-10 17:03:31 +02:00
|
|
|
{% endif %}
|
2024-08-02 17:06:21 +02:00
|
|
|
<!-- item-content -->
|
2024-08-10 17:03:31 +02:00
|
|
|
<DIV CLASS='item-content' STYLE="margin:0.5%;background-color:#111;padding:0.5%;">
|
2025-02-17 13:15:10 +01:00
|
|
|
{% if data['translated_content'] != '' and data['translated_content'] != null %}
|
2025-02-17 13:31:24 +01:00
|
|
|
<!-- translated_content -->
|
2025-02-18 10:50:06 +01:00
|
|
|
(Translated content)
|
2025-02-17 15:47:24 +01:00
|
|
|
<DIV>
|
2025-02-18 10:03:03 +01:00
|
|
|
{{ data['translated_content'] }}
|
2025-02-17 15:47:24 +01:00
|
|
|
</DIV>
|
2025-02-18 10:50:06 +01:00
|
|
|
(Original content)
|
2025-02-17 14:30:48 +01:00
|
|
|
{% else %}
|
|
|
|
<!-- no translated_content present -->
|
2025-02-17 13:15:10 +01:00
|
|
|
{% endif %}
|
2025-02-17 15:47:24 +01:00
|
|
|
<DIV>
|
2025-02-18 10:03:03 +01:00
|
|
|
{{ data['content'] }}
|
2025-02-17 15:47:24 +01:00
|
|
|
</DIV>
|
2024-08-02 17:06:21 +02:00
|
|
|
<!-- media -->
|
|
|
|
{% if data['media_attachments'] %}
|
2024-09-03 12:20:58 +02:00
|
|
|
{% for media in data['media_attachments'] %}
|
|
|
|
{% if media['type'] == 'image' -%}
|
|
|
|
<IMG SRC="{{ media['preview_url'] }}" ALT="{{ media['description'] }}">
|
|
|
|
{% elif media['type'] == 'video' or media['type'] == 'gifv' -%}
|
|
|
|
<video controls height="50%">
|
|
|
|
<source src="{{ media['url'] }}" type="video/webm" />
|
|
|
|
<A HREF="{{ media['url'] }}">Download video</A>
|
|
|
|
</video>
|
|
|
|
{% elif media['type'] == 'audio' -%}
|
|
|
|
<audio controls src="{{ media['url'] }}"></audio>
|
|
|
|
<A HREF="{{ media['url'] }}">Download audio</A>
|
|
|
|
{% else %}
|
|
|
|
<object data="{{ media['url'] }}"></object>
|
|
|
|
{%- endif %}
|
|
|
|
{% endfor %}
|
2024-08-02 17:06:21 +02:00
|
|
|
{% endif %}
|
2024-08-04 19:01:21 +02:00
|
|
|
{% if data['meb_reply_to'] %}
|
|
|
|
{% for reply in data['meb_reply_to'] %}
|
2024-08-03 11:39:53 +02:00
|
|
|
<!-- reply -->
|
2024-08-30 18:42:41 +02:00
|
|
|
<A TARGET="_blank" HREF="{{ reply['url'] }}">Reply original page</A>
|
|
|
|
<!-- creation_date -->
|
|
|
|
<P STYLE='font-size: 12px;'>
|
|
|
|
{% set reply_created_date = time.strptime(reply['created_at'], '%Y-%m-%dT%H:%M:%S.%fZ') %}
|
|
|
|
{{ time.strftime('%Y-%m-%d %H:%M:%S %zUTC', reply_created_date) }}
|
|
|
|
</P>
|
|
|
|
|
|
|
|
<DIV STYLE="margin:1%;">
|
2024-08-03 11:39:53 +02:00
|
|
|
<!-- reply-account -->
|
2024-08-30 18:42:41 +02:00
|
|
|
<TABLE>
|
|
|
|
<TR>
|
|
|
|
<TD>
|
|
|
|
<A HREF="{{ reply['account']['url'] }}" TARGET="_blank">
|
|
|
|
<IMG ALT="{{ reply['account']['display_name'] }} avatar image" SRC="{{ reply['account']['avatar_static'] }}" STYLE="width:64px;height:64px;margin:1%;float: left;">
|
|
|
|
</A>
|
|
|
|
</TD>
|
|
|
|
<TD>
|
|
|
|
<A HREF="{{ reply['account']['url'] }}" TARGET="_blank">
|
|
|
|
<B>{{ reply['account']['display_name'] }} ({{ reply['account']['acct'] }})</B>
|
|
|
|
</A>
|
|
|
|
</TD>
|
|
|
|
</TR>
|
|
|
|
</TABLE>
|
2024-08-03 11:39:53 +02:00
|
|
|
<!-- reply_content_bloc -->
|
2024-08-04 07:25:59 +02:00
|
|
|
<DIV STYLE='font-size: 24px;'>
|
2024-08-03 11:39:53 +02:00
|
|
|
<!-- reply_spoiler -->
|
|
|
|
<DIV CLASS='reply-spoiler'>
|
2025-02-17 13:15:10 +01:00
|
|
|
{% if reply['translated_spoiler'] != '' and reply['translated_spoiler'] != null %}
|
2025-02-17 13:31:24 +01:00
|
|
|
<!-- translated_reply_spoiler --->
|
2025-02-18 10:50:06 +01:00
|
|
|
(Translated spoiler)
|
2025-02-18 10:03:03 +01:00
|
|
|
<DIV>
|
|
|
|
{{ reply['translated_spoiler'] }}
|
|
|
|
</DIV>
|
2025-02-18 10:50:06 +01:00
|
|
|
(Original spoiler)
|
2025-02-17 13:15:10 +01:00
|
|
|
{% endif %}
|
2025-02-18 10:03:03 +01:00
|
|
|
<DIV>
|
|
|
|
{{ reply['spoiler'] }}
|
|
|
|
</DIV>
|
2024-08-03 11:39:53 +02:00
|
|
|
</DIV>
|
|
|
|
<!-- reply_content -->
|
|
|
|
<DIV CLASS='reply-content'>
|
2025-02-17 13:15:10 +01:00
|
|
|
{% if reply['translated_content'] != '' and reply['translated_content'] != null %}
|
2025-02-17 13:31:24 +01:00
|
|
|
<!-- translated_reply_content --->
|
2025-02-18 10:50:06 +01:00
|
|
|
(Translated content)
|
2025-02-18 10:03:03 +01:00
|
|
|
<DIV>
|
|
|
|
{{ reply['translated_content'] }}
|
|
|
|
</DIV>
|
2025-02-18 10:50:06 +01:00
|
|
|
(Original content)
|
2025-02-17 14:45:14 +01:00
|
|
|
{% else %}
|
|
|
|
<!-- no translated_reply_content -->
|
2025-02-17 13:15:10 +01:00
|
|
|
{% endif %}
|
2025-02-18 10:03:03 +01:00
|
|
|
<DIV>
|
|
|
|
{{ reply['content'] }}
|
|
|
|
</DIV>
|
2024-08-03 11:39:53 +02:00
|
|
|
<!-- media -->
|
2024-08-04 19:01:21 +02:00
|
|
|
{% if reply['media_attachments'] %}
|
2024-09-03 12:20:58 +02:00
|
|
|
{% for media in reply['media_attachments'] %}
|
|
|
|
{% if media['type'] == 'image' %}
|
|
|
|
<IMG SRC="{{ media['preview_url'] }}" ALT="{{ media['description'] }}">
|
|
|
|
{% elif media['type'] == 'video' %}
|
|
|
|
<video controls width="100%">
|
|
|
|
<source src="{{ media['url'] }}" type="video/webm" />
|
|
|
|
<A HREF="{{ media['url'] }}">Download video</A>
|
|
|
|
</video>
|
|
|
|
{% elif media['type'] == 'audio' %}
|
|
|
|
<audio controls src="{{ media['url'] }}"></audio>
|
|
|
|
<A HREF="{{ media['url'] }}">Download audio</A>
|
|
|
|
{% else %}
|
|
|
|
<object data="{{ media['url'] }}"></object>
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
2024-08-03 11:39:53 +02:00
|
|
|
{% endif %}
|
|
|
|
</DIV>
|
|
|
|
</DIV>
|
|
|
|
</DIV>
|
2024-08-04 19:01:21 +02:00
|
|
|
{% endfor %}
|
2024-08-03 11:39:53 +02:00
|
|
|
{% endif %}
|
2024-08-02 17:06:21 +02:00
|
|
|
{% if data['reblog'] %}
|
|
|
|
<!-- reblog -->
|
2024-08-30 18:42:41 +02:00
|
|
|
<DIV STYLE="margin:1%;">
|
|
|
|
<!-- reply -->
|
|
|
|
<A TARGET="_blank" HREF="{{ data['reblog']['url'] }}">Reply original page</A>
|
|
|
|
<!-- creation_date -->
|
|
|
|
<P STYLE='font-size: 12px;'>
|
|
|
|
{% set reblog_created_date = time.strptime(data['reblog']['created_at'], '%Y-%m-%dT%H:%M:%S.%fZ') %}
|
|
|
|
{{ time.strftime('%Y-%m-%d %H:%M:%S %zUTC', reblog_created_date) }}
|
|
|
|
</P>
|
2024-08-02 17:06:21 +02:00
|
|
|
<!-- reblog-account -->
|
2024-08-30 18:42:41 +02:00
|
|
|
<TABLE>
|
|
|
|
<TR>
|
|
|
|
<TD>
|
|
|
|
<A HREF="{{ data['reblog']['account']['url'] }}" TARGET="_blank">
|
|
|
|
<IMG ALT="{{ data['reblog']['account']['display_name'] }} avatar image" SRC="{{ data['reblog']['account']['avatar_static'] }}" STYLE="width:64px;height:64px;margin:1%;float: left;">
|
|
|
|
</A>
|
|
|
|
</TD>
|
|
|
|
<TD>
|
|
|
|
<A HREF="{{ data['reblog']['account']['url'] }}" TARGET="_blank">
|
|
|
|
<B>{{ data['reblog']['account']['display_name'] }} ({{ data['reblog']['account']['acct'] }})</B>
|
|
|
|
</A>
|
|
|
|
</TD>
|
|
|
|
</TR>
|
|
|
|
</TABLE>
|
2024-08-02 17:06:21 +02:00
|
|
|
<!-- reblog_content_bloc -->
|
2024-08-04 07:25:59 +02:00
|
|
|
<DIV STYLE='font-size: 24px;'>
|
2024-08-02 17:06:21 +02:00
|
|
|
<!-- reblog_spoiler -->
|
2025-02-17 13:15:10 +01:00
|
|
|
{% if data['reblog']['translated_spoiler'] != '' and data['reblog']['translated_spoiler'] != null %}
|
2025-02-17 13:31:24 +01:00
|
|
|
<!-- translated_reblog_spoiler --->
|
2025-02-18 10:50:06 +01:00
|
|
|
(Translated spoiler)
|
2025-02-17 13:15:10 +01:00
|
|
|
<DIV CLASS='reblog-spoiler'>
|
|
|
|
{{ data['reblog']['translated_spoiler'] }}
|
|
|
|
</DIV>
|
2025-02-18 10:50:06 +01:00
|
|
|
(Original spoiler)
|
2025-02-17 13:15:10 +01:00
|
|
|
{% endif %}
|
2024-08-02 17:06:21 +02:00
|
|
|
<DIV CLASS='reblog-spoiler'>
|
|
|
|
{{ data['reblog']['spoiler'] }}
|
|
|
|
</DIV>
|
|
|
|
<!-- reblog_content -->
|
|
|
|
<DIV CLASS='reblog-content'>
|
2025-02-17 13:15:10 +01:00
|
|
|
{% if data['reblog']['translated_content'] != '' and data['reblog']['translated_content'] != null %}
|
2025-02-17 13:31:24 +01:00
|
|
|
<!-- translated_reblog_content --->
|
2025-02-18 10:50:06 +01:00
|
|
|
(Translated content)
|
2025-02-18 10:03:03 +01:00
|
|
|
<DIV>
|
|
|
|
{{ data['reblog']['translated_content'] }}
|
|
|
|
</DIV>
|
2025-02-18 10:50:06 +01:00
|
|
|
(Original content)
|
2025-02-17 13:15:10 +01:00
|
|
|
{% endif %}
|
2025-02-18 10:03:03 +01:00
|
|
|
<DIV>
|
|
|
|
{{ data['reblog']['content'] }}
|
|
|
|
</DIV>
|
2024-08-02 17:06:21 +02:00
|
|
|
<!-- media -->
|
|
|
|
{% if data['reblog']['media_attachments'] %}
|
|
|
|
{% for media in data['reblog']['media_attachments'] %}
|
|
|
|
{% if media['type'] == 'image' %}
|
|
|
|
<IMG SRC="{{ media['preview_url'] }}" ALT="{{ media['description'] }}">
|
|
|
|
{% elif media['type'] == 'video' %}
|
|
|
|
<video controls width="100%">
|
|
|
|
<source src="{{ media['url'] }}" type="video/webm" />
|
|
|
|
<A HREF="{{ media['url'] }}">Download video</A>
|
|
|
|
</video>
|
|
|
|
{% elif media['type'] == 'audio' %}
|
|
|
|
<audio controls src="{{ media['url'] }}"></audio>
|
|
|
|
<A HREF="{{ media['url'] }}">Download audio</A>
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
|
|
|
{% endif %}
|
|
|
|
</DIV>
|
|
|
|
</DIV>
|
|
|
|
</DIV>
|
|
|
|
{% endif %}
|
|
|
|
</DIV>
|
|
|
|
</DIV>
|
|
|
|
{# <!-- card -->{{ data['card'] }} #}
|
2025-02-18 10:00:50 +01:00
|
|
|
<!-- Raw JSON data -->
|
2024-08-04 07:25:59 +02:00
|
|
|
<DIV STYLE="margin-top:15%;font-size: 12px;">
|
2024-08-02 17:06:21 +02:00
|
|
|
Raw JSON data:
|
|
|
|
<PRE>{{ json_raw }}</PRE>
|
|
|
|
</DIV>
|
2025-02-18 10:00:50 +01:00
|
|
|
<!-- -->
|
2024-08-02 17:06:21 +02:00
|
|
|
</BODY>
|