forked from sch/Blasta
CSS : Improve appearance of list of tags;
Python : Add an error message to page URL; Python : Limit number of tags of each entry to 5 tags; README : Update Subtitle, Future features and Instructions. XHTML : Add titles to templates; XHTML : Add control characters U+200A HAIR SPACE and U+200B ZERO WIDTH SPACE (temporary); XHTML : Various of minor corrections and fixes.
This commit is contained in:
parent
100ccdd489
commit
3d9e5b2e02
30 changed files with 339 additions and 142 deletions
|
@ -15,7 +15,7 @@ types adc, dweb, ed2k, feed, ftp, gemini, geo, gopher, http, ipfs, irc, magnet,
|
||||||
mailto, monero, mms, news, sip, udp, xmpp and any scheme and type that you
|
mailto, monero, mms, news, sip, udp, xmpp and any scheme and type that you
|
||||||
desire.
|
desire.
|
||||||
|
|
||||||
# Technicalities
|
## Technicalities
|
||||||
|
|
||||||
Blasta is a federated bookmarking system which is based on XMPP and stores
|
Blasta is a federated bookmarking system which is based on XMPP and stores
|
||||||
bookmarks on your own XMPP account; to achieve this task, Blasta utilizes the
|
bookmarks on your own XMPP account; to achieve this task, Blasta utilizes the
|
||||||
|
@ -48,8 +48,9 @@ The connection to the Blasta system is made with XMPP accounts.
|
||||||
- Atom Syndication Format;
|
- Atom Syndication Format;
|
||||||
- Federation;
|
- Federation;
|
||||||
- Filters;
|
- Filters;
|
||||||
- Pin directory;
|
- Pin;
|
||||||
- Publish-Subscribe.
|
- Publish-Subscribe;
|
||||||
|
- Report.
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
|
@ -67,7 +68,7 @@ Use the following commands to start Blasta.
|
||||||
```shell
|
```shell
|
||||||
$ git clone https://git.xmpp-it.net/sch/Blasta
|
$ git clone https://git.xmpp-it.net/sch/Blasta
|
||||||
$ cd Blasta/
|
$ cd Blasta/
|
||||||
python -m uvicorn blasta:app --reload
|
$ python -m uvicorn blasta:app --reload
|
||||||
```
|
```
|
||||||
|
|
||||||
Open URL http://localhost:8000/ and connect with your Jabber ID.
|
Open URL http://localhost:8000/ and connect with your Jabber ID.
|
||||||
|
|
55
blasta.py
55
blasta.py
|
@ -751,6 +751,10 @@ class HttpInstance:
|
||||||
# It does not seem to actually filter tags.
|
# It does not seem to actually filter tags.
|
||||||
# NOTE Yes. It does work.
|
# NOTE Yes. It does work.
|
||||||
# See function "cache_items_and_tags".
|
# See function "cache_items_and_tags".
|
||||||
|
|
||||||
|
# TODO Search by query
|
||||||
|
#if param_query:
|
||||||
|
|
||||||
if param_tags or param_tld or param_filetype or param_protocol:
|
if param_tags or param_tld or param_filetype or param_protocol:
|
||||||
tags_list = param_tags.split('+')
|
tags_list = param_tags.split('+')
|
||||||
if len(tags_list) == 1:
|
if len(tags_list) == 1:
|
||||||
|
@ -1834,15 +1838,16 @@ class HttpInstance:
|
||||||
exist = True
|
exist = True
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
print('IQ ISSUE?')
|
message = 'XMPP system message » Error: {}.'.format(iq)
|
||||||
breakpoint()
|
description = 'The requested bookmark could not be retrieved'
|
||||||
print('IQ ISSUE?')
|
path = 'error'
|
||||||
|
return result_post(request, jabber_id, description, message, path)
|
||||||
if exist:
|
if exist:
|
||||||
# TODO Perhaps adding a paragraph with "your tags" and "who else has tagged this link"
|
# TODO Perhaps adding a paragraph with "your tags" and "who else has tagged this link"
|
||||||
# and keep the (5 item) limit.
|
# and keep the (5 item) limit.
|
||||||
#entry = Syndication.extract_items(item_payload, limit=True)
|
#entry = Syndication.extract_items(item_payload)
|
||||||
entry = Syndication.extract_items(item_payload)
|
# NOTE Display only 5 items, as all the other tags appear at the list of "Related tags".
|
||||||
|
entry = Syndication.extract_items(item_payload, limit=True)
|
||||||
if entry:
|
if entry:
|
||||||
#url_hash = iq_item['id']
|
#url_hash = iq_item['id']
|
||||||
url_hash = Utilities.hash_url_to_md5(entry['link'])
|
url_hash = Utilities.hash_url_to_md5(entry['link'])
|
||||||
|
@ -1854,11 +1859,12 @@ class HttpInstance:
|
||||||
entry['name'] = name
|
entry['name'] = name
|
||||||
entry['url_hash'] = url_hash
|
entry['url_hash'] = url_hash
|
||||||
entry['published_mod'] = Utilities.convert_iso8601_to_readable(entry['published'])
|
entry['published_mod'] = Utilities.convert_iso8601_to_readable(entry['published'])
|
||||||
|
#entry['tags'] = entry['tags'][:5]
|
||||||
entries.append(entry)
|
entries.append(entry)
|
||||||
tags_list = {}
|
tags_list = {}
|
||||||
tags_and_instances = SQLite.get_tags_and_instances_by_url_hash(db_file, url_hash)
|
tags_and_instances = SQLite.get_tags_and_instances_by_url_hash(db_file, url_hash)
|
||||||
for tag, instances in tags_and_instances: tags_list[tag] = instances
|
for tag, instances in tags_and_instances: tags_list[tag] = instances
|
||||||
else:
|
else: # NOTE Is it possible to activate this else statement? Consider removal.
|
||||||
# https://fastapi.tiangolo.com/tutorial/handling-errors/
|
# https://fastapi.tiangolo.com/tutorial/handling-errors/
|
||||||
#raise HTTPException(status_code=404, detail="Item not found")
|
#raise HTTPException(status_code=404, detail="Item not found")
|
||||||
message = 'Blasta system message » Error: Not found.'
|
message = 'Blasta system message » Error: Not found.'
|
||||||
|
@ -1930,7 +1936,6 @@ class HttpInstance:
|
||||||
description = 'The requested bookmark does not exist'
|
description = 'The requested bookmark does not exist'
|
||||||
path = 'error'
|
path = 'error'
|
||||||
return result_post(request, jabber_id, description, message, path)
|
return result_post(request, jabber_id, description, message, path)
|
||||||
return response
|
|
||||||
message = 'Information for URL {}'.format(entries[0]['link']) # entry[2]
|
message = 'Information for URL {}'.format(entries[0]['link']) # entry[2]
|
||||||
description = 'Discover new links and see who shares them'
|
description = 'Discover new links and see who shares them'
|
||||||
template_file = 'browse.xhtml'
|
template_file = 'browse.xhtml'
|
||||||
|
@ -1977,12 +1982,13 @@ class HttpInstance:
|
||||||
db_file = 'main.sqlite'
|
db_file = 'main.sqlite'
|
||||||
instances = SQLite.get_entry_instances_by_url_hash(db_file, url_hash)
|
instances = SQLite.get_entry_instances_by_url_hash(db_file, url_hash)
|
||||||
timestamp = datetime.now().isoformat()
|
timestamp = datetime.now().isoformat()
|
||||||
|
tags_new = Data.organize_tags(tags) if tags else ''
|
||||||
entry = {'title' : title.strip(),
|
entry = {'title' : title.strip(),
|
||||||
'link' : url.strip(),
|
'link' : url.strip(),
|
||||||
'summary' : summary.strip() if summary else '',
|
'summary' : summary.strip() if summary else '',
|
||||||
'published' : published,
|
'published' : published,
|
||||||
'updated' : timestamp,
|
'updated' : timestamp,
|
||||||
'tags' : Data.organize_tags(tags) if tags else '',
|
'tags' : tags_new,
|
||||||
'url_hash' : url_hash,
|
'url_hash' : url_hash,
|
||||||
'jid' : jabber_id,
|
'jid' : jabber_id,
|
||||||
'name' : name,
|
'name' : name,
|
||||||
|
@ -2051,18 +2057,22 @@ class HttpInstance:
|
||||||
if node == 'public':
|
if node == 'public':
|
||||||
tags_valid = []
|
tags_valid = []
|
||||||
tags_invalid = []
|
tags_invalid = []
|
||||||
tags_list = tags.split(',')
|
#tags_list_new = tags.split(',')
|
||||||
tags_old_list = tags_old.split(',')
|
tags_list_new = tags_new
|
||||||
for tag in tags_old_list:
|
tags_list_old = tags_old.split(',')
|
||||||
if tag not in tags_list:
|
for tag in tags_list_old:
|
||||||
|
if tag not in tags_list_new:
|
||||||
tags_invalid.append(tag)
|
tags_invalid.append(tag)
|
||||||
for tag in tags_list:
|
for tag in tags_list_new:
|
||||||
if tag not in tags_old_list:
|
if tag not in tags_list_old:
|
||||||
tags_valid.append(tag)
|
tags_valid.append(tag)
|
||||||
|
# FIXME Variable tags_valid is not in use.
|
||||||
|
# NOTE Variable tags_valid might not be needed. See function associate_entries_tags_jids.
|
||||||
await SQLite.delete_combination_row_by_entry_id_and_tag_id_and_jid_id(db_file, url_hash, tags_invalid, jabber_id)
|
await SQLite.delete_combination_row_by_entry_id_and_tag_id_and_jid_id(db_file, url_hash, tags_invalid, jabber_id)
|
||||||
await SQLite.add_tags(db_file, [entry])
|
await SQLite.add_tags(db_file, [entry])
|
||||||
# Slow (high I/O)
|
# Slow (high I/O)
|
||||||
if not SQLite.get_entry_id_by_url_hash(db_file, url_hash):
|
entry_id = SQLite.get_entry_id_by_url_hash(db_file, url_hash)
|
||||||
|
if not entry_id:
|
||||||
await SQLite.add_new_entries(db_file, [entry]) # Is this line needed?
|
await SQLite.add_new_entries(db_file, [entry]) # Is this line needed?
|
||||||
await SQLite.associate_entries_tags_jids(db_file, entry)
|
await SQLite.associate_entries_tags_jids(db_file, entry)
|
||||||
#elif not SQLite.is_jid_associated_with_url_hash(db_file, jabber_id, url_hash):
|
#elif not SQLite.is_jid_associated_with_url_hash(db_file, jabber_id, url_hash):
|
||||||
|
@ -2072,12 +2082,14 @@ class HttpInstance:
|
||||||
# Entry for HTML
|
# Entry for HTML
|
||||||
entry['published_mod'] = Utilities.convert_iso8601_to_readable(published)
|
entry['published_mod'] = Utilities.convert_iso8601_to_readable(published)
|
||||||
entry['updated_mod'] = Utilities.convert_iso8601_to_readable(timestamp)
|
entry['updated_mod'] = Utilities.convert_iso8601_to_readable(timestamp)
|
||||||
|
entry['tags'] = entry['tags'][:5]
|
||||||
entries = [entry]
|
entries = [entry]
|
||||||
template_file = 'browse.xhtml'
|
template_file = 'browse.xhtml'
|
||||||
template_dict = {
|
template_dict = {
|
||||||
'request': request,
|
'request': request,
|
||||||
'description': description,
|
'description': description,
|
||||||
'entries': entries,
|
'entries': entries,
|
||||||
|
'exist': True,
|
||||||
'jabber_id': jabber_id,
|
'jabber_id': jabber_id,
|
||||||
'journal': journal,
|
'journal': journal,
|
||||||
'message': message,
|
'message': message,
|
||||||
|
@ -2085,7 +2097,8 @@ class HttpInstance:
|
||||||
'param_hash': param_hash,
|
'param_hash': param_hash,
|
||||||
'path': path,
|
'path': path,
|
||||||
'pubsub_jid': jabber_id_pubsub,
|
'pubsub_jid': jabber_id_pubsub,
|
||||||
'syndicate': syndicate}
|
'syndicate': syndicate,
|
||||||
|
'tags' : tags_new}
|
||||||
response = templates.TemplateResponse(template_file, template_dict)
|
response = templates.TemplateResponse(template_file, template_dict)
|
||||||
response.headers["Content-Type"] = "application/xhtml+xml"
|
response.headers["Content-Type"] = "application/xhtml+xml"
|
||||||
return response
|
return response
|
||||||
|
@ -4556,6 +4569,10 @@ class SQLite:
|
||||||
cur = conn.cursor()
|
cur = conn.cursor()
|
||||||
cur.execute(sql, par)
|
cur.execute(sql, par)
|
||||||
|
|
||||||
|
# NOTE The result was ordered by number of instances
|
||||||
|
# ORDER BY main_tags.instances DESC
|
||||||
|
# And has been changed to order of alphabet
|
||||||
|
# ORDER BY main_tags.tag ASC
|
||||||
def get_tags_by_entry_id(db_file, entry_id):
|
def get_tags_by_entry_id(db_file, entry_id):
|
||||||
"""
|
"""
|
||||||
Get tags by an ID entry.
|
Get tags by an ID entry.
|
||||||
|
@ -4577,11 +4594,11 @@ class SQLite:
|
||||||
# .format(function_name, db_file, index_first))
|
# .format(function_name, db_file, index_first))
|
||||||
sql = (
|
sql = (
|
||||||
"""
|
"""
|
||||||
SELECT main_tags.tag
|
SELECT DISTINCT main_tags.tag
|
||||||
FROM main_tags
|
FROM main_tags
|
||||||
INNER JOIN combination_entries_tags_jids ON main_tags.id = combination_entries_tags_jids.tag_id
|
INNER JOIN combination_entries_tags_jids ON main_tags.id = combination_entries_tags_jids.tag_id
|
||||||
WHERE combination_entries_tags_jids.entry_id = ?
|
WHERE combination_entries_tags_jids.entry_id = ?
|
||||||
ORDER BY main_tags.instances DESC
|
ORDER BY main_tags.tag ASC
|
||||||
LIMIT 5;
|
LIMIT 5;
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|
|
@ -147,7 +147,19 @@ form > * {
|
||||||
width: 15%;
|
width: 15%;
|
||||||
/* float: right; */
|
/* float: right; */
|
||||||
/* width: 200px; */
|
/* width: 200px; */
|
||||||
|
}
|
||||||
|
|
||||||
|
#related-tags dd {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
#related-tags dd:hover {
|
||||||
|
overflow: unset;
|
||||||
overflow-wrap: break-word;
|
overflow-wrap: break-word;
|
||||||
|
text-overflow: unset;
|
||||||
|
white-space: unset;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content {
|
#content {
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / about</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / {{path}}</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / atomsub</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
@ -53,8 +53,12 @@
|
||||||
<div id="main" class="row">
|
<div id="main" class="row">
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<h2> PubSub Bookmarks</h2>
|
<h2> PubSub Bookmarks</h2>
|
||||||
<p>» The master standard for HTML.</p>
|
<p>
|
||||||
<h3>Atomsub</h3>
|
» The master standard for HTML.
|
||||||
|
</p>
|
||||||
|
<h3>
|
||||||
|
Atomsub
|
||||||
|
</h3>
|
||||||
<p>
|
<p>
|
||||||
Atomsub, or Atom Over XMPP, is a simple and yet ingenious
|
Atomsub, or Atom Over XMPP, is a simple and yet ingenious
|
||||||
idea which was realized by the gentlemen: Peter Saint-Andre;
|
idea which was realized by the gentlemen: Peter Saint-Andre;
|
||||||
|
@ -82,7 +86,9 @@
|
||||||
<p>
|
<p>
|
||||||
<a href="https://datatracker.ietf.org/meeting/66/materials/slides-66-atompub-1.pdf">
|
<a href="https://datatracker.ietf.org/meeting/66/materials/slides-66-atompub-1.pdf">
|
||||||
datatracker.ietf.org
|
datatracker.ietf.org
|
||||||
</a> (PDF)
|
</a>
|
||||||
|
​ 
|
||||||
|
(PDF)
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
@ -134,6 +140,7 @@
|
||||||
<a href="https://xmpp.org/extensions/xep-0277.html">
|
<a href="https://xmpp.org/extensions/xep-0277.html">
|
||||||
xmpp.org
|
xmpp.org
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
<a href="https://libervia.org/">
|
<a href="https://libervia.org/">
|
||||||
libervia.org
|
libervia.org
|
||||||
</a>
|
</a>
|
||||||
|
@ -153,6 +160,7 @@
|
||||||
<a href="https://xmpp.org/extensions/xep-0472.html">
|
<a href="https://xmpp.org/extensions/xep-0472.html">
|
||||||
xmpp.org
|
xmpp.org
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
<a href="https://movim.eu/">
|
<a href="https://movim.eu/">
|
||||||
movim.eu
|
movim.eu
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / {{path}}</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg" />
|
<link rel="shortcut icon" href="/graphic/blasta.svg" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/graphic/blasta.svg" />
|
<link rel="icon" type="image/svg+xml" href="/graphic/blasta.svg" />
|
||||||
<link rel="stylesheet" type="text/css" media="screen"
|
<link rel="stylesheet" type="text/css" media="screen"
|
||||||
|
@ -135,6 +135,7 @@
|
||||||
href="{% if jid %}/jid/{{jid}}{% elif path in ('query', 'url') %}/{% endif %}?tags={{tag}}">
|
href="{% if jid %}/jid/{{jid}}{% elif path in ('query', 'url') %}/{% endif %}?tags={{tag}}">
|
||||||
{{tag}}
|
{{tag}}
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
by
|
by
|
||||||
|
@ -166,6 +167,7 @@
|
||||||
<span>details</span>
|
<span>details</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
at
|
at
|
||||||
<span class="dt-published date"
|
<span class="dt-published date"
|
||||||
datetime="{{entry['published']}}">
|
datetime="{{entry['published']}}">
|
||||||
|
@ -186,7 +188,10 @@
|
||||||
<a href="{% if jid %}/jid/{{jid}}{% elif path in ('query', 'url') %}/{% endif %}?tags={{tag}}">
|
<a href="{% if jid %}/jid/{{jid}}{% elif path in ('query', 'url') %}/{% endif %}?tags={{tag}}">
|
||||||
{{tag}}
|
{{tag}}
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
|
{% if tags[tag] %}
|
||||||
({{tags[tag]}})
|
({{tags[tag]}})
|
||||||
|
{% endif %}
|
||||||
</dd>
|
</dd>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<dd>
|
<dd>
|
||||||
|
@ -215,17 +220,19 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div id="subscribe" class="row">
|
<div id="subscribe" class="row">
|
||||||
<p>
|
<p>
|
||||||
|
<img alt="💡" src="/graphic/xmpp.svg" width="16" height="16"/>
|
||||||
<a href="xmpp:{{pubsub_jid}}?pubsub;action=subscribe;node={{node_id}}">
|
<a href="xmpp:{{pubsub_jid}}?pubsub;action=subscribe;node={{node_id}}">
|
||||||
<img src="/graphic/xmpp.svg" width="16" height="16"/>
|
|
||||||
PubSub
|
PubSub
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
and
|
and
|
||||||
|
<img alt="⚛" class="enlarge" src="/graphic/syndicate.svg" width="16" height="16"/>
|
||||||
<a href="/{{syndicate}}?mode=feed{% if param_tags %}&tags={{param_tags}}{% endif %}{% if param_url %}&url={{param_url}}{% endif %}{% if param_hash %}&hash={{param_hash}}{% endif %}">
|
<a href="/{{syndicate}}?mode=feed{% if param_tags %}&tags={{param_tags}}{% endif %}{% if param_url %}&url={{param_url}}{% endif %}{% if param_hash %}&hash={{param_hash}}{% endif %}">
|
||||||
<img src="/graphic/syndicate.svg" width="16" height="16"/>
|
|
||||||
RSS
|
RSS
|
||||||
<!-- img src="/graphic/atom.svg" width="36" height="14" alt="Atom"/ -->
|
<!-- img src="/graphic/atom.svg" width="36" height="14" alt="Atom"/ -->
|
||||||
</a>
|
</a>
|
||||||
feeds for this page are available.
|
​ 
|
||||||
|
syndication feeds for this page are available.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div id="footer" class="row">
|
<div id="footer" class="row">
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / connect</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / contact</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / {{path}}</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / feeds</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / help</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / ideas</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
@ -53,30 +53,42 @@
|
||||||
<div id="main" class="row">
|
<div id="main" class="row">
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<h2> PubSub Bookmarks</h2>
|
<h2> PubSub Bookmarks</h2>
|
||||||
<p>» Some ideas which illustrate potential uses for Blasta.</p>
|
<p>
|
||||||
<h3>The things that you can do with Blasta are endless</h3>
|
» Some ideas which illustrate potential uses for Blasta.
|
||||||
|
</p>
|
||||||
|
<h3>
|
||||||
|
The things that you can do with Blasta are endless
|
||||||
|
</h3>
|
||||||
<p>
|
<p>
|
||||||
Blasta is an open-ended indexing system, and, as such, it
|
Blasta is an open-ended indexing system, and, as such, it
|
||||||
provides a versatile platform with which you have the
|
provides a versatile platform with which you have the
|
||||||
ability to tailor its usage according to your desired
|
ability to tailor its usage according to your desired
|
||||||
preferences. Here are some illustrative scenarios:
|
preferences. Here are some illustrative scenarios:
|
||||||
</p>
|
</p>
|
||||||
<h4>Research</h4>
|
<h4>
|
||||||
|
Research
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
Whether you are composing an article, delving into an
|
Whether you are composing an article, delving into an
|
||||||
industry, or diligently working on your dissertation,
|
industry, or diligently working on your dissertation,
|
||||||
leverage Blasta to organize and store your online source
|
leverage Blasta to organize and store your online source
|
||||||
materials and insights.
|
materials and insights.
|
||||||
</p>
|
</p>
|
||||||
<h4>Podcast</h4>
|
<h4>
|
||||||
|
Podcast
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
Explore a plethora of captivating podcasts by visiting
|
Explore a plethora of captivating podcasts by visiting
|
||||||
<a href="{{origin}}/tag/podcast?filetype=spx">
|
<a href="{{origin}}/tag/podcast?filetype=spx">
|
||||||
/tag/podcast?filetype=spx
|
/tag/podcast?filetype=spx
|
||||||
</a> or
|
</a>
|
||||||
|
​ 
|
||||||
|
or
|
||||||
<a href="{{origin}}/tag/podcast?filetype=ogg">
|
<a href="{{origin}}/tag/podcast?filetype=ogg">
|
||||||
/tag/podcast?filetype=ogg
|
/tag/podcast?filetype=ogg
|
||||||
</a> and enjoy enriching content.
|
</a>
|
||||||
|
​ 
|
||||||
|
and enjoy enriching content.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Additionally, Blasta offers
|
Additionally, Blasta offers
|
||||||
|
@ -86,7 +98,9 @@
|
||||||
you are a podcaster, upload your spx, ogg or mp3 files to
|
you are a podcaster, upload your spx, ogg or mp3 files to
|
||||||
Blasta to generate a dedicated feed for your audience.
|
Blasta to generate a dedicated feed for your audience.
|
||||||
</p>
|
</p>
|
||||||
<h4>News</h4>
|
<h4>
|
||||||
|
News
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
If you are intending to start a site of news flash, then
|
If you are intending to start a site of news flash, then
|
||||||
Blasta can be an adequate solution for you.
|
Blasta can be an adequate solution for you.
|
||||||
|
@ -94,7 +108,9 @@
|
||||||
<p>
|
<p>
|
||||||
Additionally, you can also use Blasta to manage your notes.
|
Additionally, you can also use Blasta to manage your notes.
|
||||||
</p>
|
</p>
|
||||||
<h4>Travel</h4>
|
<h4>
|
||||||
|
Travel
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
Facilitate trip planning by saving links related to
|
Facilitate trip planning by saving links related to
|
||||||
accommodations, activities, and transportation on Blasta
|
accommodations, activities, and transportation on Blasta
|
||||||
|
@ -103,7 +119,9 @@
|
||||||
with friends and family members by utilizing the tag
|
with friends and family members by utilizing the tag
|
||||||
"for:{% if jabber_id %}{{jabber_id}}{% else %}jid{% endif %}".
|
"for:{% if jabber_id %}{{jabber_id}}{% else %}jid{% endif %}".
|
||||||
</p>
|
</p>
|
||||||
<h4>Employment</h4>
|
<h4>
|
||||||
|
Employment
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
Stay updated on job openings and industry trends by
|
Stay updated on job openings and industry trends by
|
||||||
following specific tags related to your field of interest on
|
following specific tags related to your field of interest on
|
||||||
|
@ -116,16 +134,22 @@
|
||||||
resume building, interview tips, and
|
resume building, interview tips, and
|
||||||
professional development.
|
professional development.
|
||||||
</p>
|
</p>
|
||||||
<h4>File sharing</h4>
|
<h4>
|
||||||
|
File sharing
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
Share you favourite contents that you share via BitTorrent,
|
Share you favourite contents that you share via BitTorrent,
|
||||||
eD2k or IPFS, whether publicly by
|
eD2k or IPFS, whether publicly by
|
||||||
<a href="{{origin}}/tag/?filetype=torrent">
|
<a href="{{origin}}/tag/?filetype=torrent">
|
||||||
/tag/?filetype=torrent
|
/tag/?filetype=torrent
|
||||||
</a> and
|
</a>
|
||||||
|
​ 
|
||||||
|
and
|
||||||
<a href="{{origin}}/tag/?protocol=magnet">
|
<a href="{{origin}}/tag/?protocol=magnet">
|
||||||
/tag/?protocol=magnet
|
/tag/?protocol=magnet
|
||||||
</a> or whether privately by utilizing the tag
|
</a>
|
||||||
|
​ 
|
||||||
|
or whether privately by utilizing the tag
|
||||||
"for:{% if jabber_id %}{{jabber_id}}{% else %}jid{% endif %}".
|
"for:{% if jabber_id %}{{jabber_id}}{% else %}jid{% endif %}".
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / libervia</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
@ -62,7 +62,9 @@
|
||||||
communications needs: instant messaging, (micro)blogging,
|
communications needs: instant messaging, (micro)blogging,
|
||||||
file sharing, photo albums, events, forums, tasks, etc.
|
file sharing, photo albums, events, forums, tasks, etc.
|
||||||
</p>
|
</p>
|
||||||
<h4>What is Libervia?</h4>
|
<h4>
|
||||||
|
What is Libervia?
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
Libervia (formerly "Salut à Toi") is a Libre communication
|
Libervia (formerly "Salut à Toi") is a Libre communication
|
||||||
ecosystem based on XMPP standard. It allows you to do many
|
ecosystem based on XMPP standard. It allows you to do many
|
||||||
|
@ -79,7 +81,9 @@
|
||||||
It features many interfaces (desktop, mobile, web, command
|
It features many interfaces (desktop, mobile, web, command
|
||||||
line, console), and is multi-platforms.
|
line, console), and is multi-platforms.
|
||||||
</p>
|
</p>
|
||||||
<h4>Motives</h4>
|
<h4>
|
||||||
|
Motives
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
The project "Libervia" was born from a need to protect our
|
The project "Libervia" was born from a need to protect our
|
||||||
liberties, our privacy and our independence. It is intended
|
liberties, our privacy and our independence. It is intended
|
||||||
|
@ -92,7 +96,9 @@
|
||||||
private interests. The network must belong to everybody, and
|
private interests. The network must belong to everybody, and
|
||||||
be a force of expression and freedom for all Humanity.
|
be a force of expression and freedom for all Humanity.
|
||||||
</p>
|
</p>
|
||||||
<h4>Social Contract</h4>
|
<h4>
|
||||||
|
Social Contract
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
Towards this end, "Libervia" and those who participate in
|
Towards this end, "Libervia" and those who participate in
|
||||||
the project operate on a Social Contract, a commitment to
|
the project operate on a Social Contract, a commitment to
|
||||||
|
@ -198,7 +204,9 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</p>
|
</p>
|
||||||
<h4>Features</h4>
|
<h4>
|
||||||
|
Features
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
|
@ -225,7 +233,9 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</p>
|
</p>
|
||||||
<h4>Interfaces</h4>
|
<h4>
|
||||||
|
Interfaces
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
|
@ -250,7 +260,10 @@
|
||||||
Lot of powerful tools and features accompany the
|
Lot of powerful tools and features accompany the
|
||||||
project, please check the
|
project, please check the
|
||||||
<a href="https://libervia.org/documentation">
|
<a href="https://libervia.org/documentation">
|
||||||
documentation</a>.
|
documentation
|
||||||
|
</a>
|
||||||
|
​
|
||||||
|
.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</p>
|
</p>
|
||||||
|
@ -263,46 +276,57 @@
|
||||||
Libervia is a Libre software, based on well established
|
Libervia is a Libre software, based on well established
|
||||||
standards (XMPP), decentralised and federating. It is
|
standards (XMPP), decentralised and federating. It is
|
||||||
developed around strong ethical values. Check our
|
developed around strong ethical values. Check our
|
||||||
<a href="https://libervia.org/social_contract">social
|
<a href="https://libervia.org/social_contract">
|
||||||
contract</a>.
|
social contract
|
||||||
|
</a>
|
||||||
|
​
|
||||||
|
.
|
||||||
</p>
|
</p>
|
||||||
<h4>Press</h4>
|
<h4>
|
||||||
|
Press
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a href="http://andre-ani.fr/news/profil-libriste-goffi/">
|
<a href="http://andre-ani.fr/news/profil-libriste-goffi/">
|
||||||
Profil de libriste : Goffi
|
Profil de libriste : Goffi
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
(andre-ani.fr)
|
(andre-ani.fr)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://framablog.org/2015/11/02/salut-a-toi-couteau-suisse-des-reseaux-sociaux-libres/">
|
<a href="https://framablog.org/2015/11/02/salut-a-toi-couteau-suisse-des-reseaux-sociaux-libres/">
|
||||||
Salut à toi, couteau suisse des réseaux sociaux libres
|
Salut à toi, couteau suisse des réseaux sociaux libres
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
(framablog.org)
|
(framablog.org)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://libervia.org/press">
|
<a href="https://libervia.org/press">
|
||||||
Libervia Press
|
Libervia Press
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
(libervia.org)
|
(libervia.org)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://www.linux-magazin.de/news/salut-a-toi-verbesserter-xmpp-client/">
|
<a href="https://www.linux-magazin.de/news/salut-a-toi-verbesserter-xmpp-client/">
|
||||||
Salut à Toi; Verbesserter XMPP-Client
|
Salut à Toi; Verbesserter XMPP-Client
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
(linux-magazin.de)
|
(linux-magazin.de)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://linuxfr.org/tags/s%C3%A0t/public">
|
<a href="https://linuxfr.org/tags/s%C3%A0t/public">
|
||||||
Tous les contenus étiquetés avec « sàt » - LinuxFr.org
|
Tous les contenus étiquetés avec « sàt » - LinuxFr.org
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
(linuxfr.org)
|
(linuxfr.org)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://reflets.info/articles/sat-le-couteau-suisse-libre-et-open-source-de-la-communication">
|
<a href="https://reflets.info/articles/sat-le-couteau-suisse-libre-et-open-source-de-la-communication">
|
||||||
SàT : le couteau suisse Libre et open source de la communication
|
SàT : le couteau suisse Libre et open source de la communication
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
(reflets.info)
|
(reflets.info)
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -314,12 +338,14 @@
|
||||||
<a href="https://libervia.org">
|
<a href="https://libervia.org">
|
||||||
Official Site
|
Official Site
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
(libervia.org)
|
(libervia.org)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="xmpp:libervia@chat.jabberfr.org?join">
|
<a href="xmpp:libervia@chat.jabberfr.org?join">
|
||||||
Official Group Chat
|
Official Group Chat
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
(chat.jabberfr.org)
|
(chat.jabberfr.org)
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / movim</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
@ -56,7 +56,9 @@
|
||||||
<p>
|
<p>
|
||||||
» The social platform shaped for your community.
|
» The social platform shaped for your community.
|
||||||
</p>
|
</p>
|
||||||
<h3>About Movim</h3>
|
<h3>
|
||||||
|
About Movim
|
||||||
|
</h3>
|
||||||
<p>
|
<p>
|
||||||
Movim is an abbreviation of "My Open Virtual Identity
|
Movim is an abbreviation of "My Open Virtual Identity
|
||||||
Manager" and is a distributed social network which, just
|
Manager" and is a distributed social network which, just
|
||||||
|
@ -91,7 +93,9 @@
|
||||||
The framework, which is built upon PHP, is a free software
|
The framework, which is built upon PHP, is a free software
|
||||||
and can be experimented with by external developers.
|
and can be experimented with by external developers.
|
||||||
</p>
|
</p>
|
||||||
<h4>What is Movim?</h4>
|
<h4>
|
||||||
|
What is Movim?
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
Movim is a social and chat platform that acts as a frontend
|
Movim is a social and chat platform that acts as a frontend
|
||||||
for the XMPP network.
|
for the XMPP network.
|
||||||
|
@ -107,7 +111,9 @@
|
||||||
Movim is fully compatible with the most used XMPP servers
|
Movim is fully compatible with the most used XMPP servers
|
||||||
such as ejabberd or Prosody.
|
such as ejabberd or Prosody.
|
||||||
</p>
|
</p>
|
||||||
<h4>Blogs & Communities</h4>
|
<h4>
|
||||||
|
Blogs & Communities
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
Movim simplifies the management of your publications and
|
Movim simplifies the management of your publications and
|
||||||
news articles. So forget the ads, forget the superfluous. We
|
news articles. So forget the ads, forget the superfluous. We
|
||||||
|
@ -118,7 +124,9 @@
|
||||||
nodes on different topics. Just click on the Communities
|
nodes on different topics. Just click on the Communities
|
||||||
link in your menu and start exploring!
|
link in your menu and start exploring!
|
||||||
</p>
|
</p>
|
||||||
<h4>Chats & Chatrooms</h4>
|
<h4>
|
||||||
|
Chats & Chatrooms
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
Start a conversation with a friend or join a multi-user
|
Start a conversation with a friend or join a multi-user
|
||||||
chatroom in one click.
|
chatroom in one click.
|
||||||
|
@ -127,34 +135,45 @@
|
||||||
Movim chats are coming with many features to give you the
|
Movim chats are coming with many features to give you the
|
||||||
best chat experience across all your devices
|
best chat experience across all your devices
|
||||||
</p>
|
</p>
|
||||||
<h4>Let's get started!</h4>
|
<h4>
|
||||||
|
Let's get started!
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
<a href="https://join.movim.eu/register">
|
<a href="https://join.movim.eu/register">
|
||||||
Create an XMPP account</a>
|
Create an XMPP account
|
||||||
|
</a>
|
||||||
|
​ 
|
||||||
and join one of our public instances on
|
and join one of our public instances on
|
||||||
<a href="https://join.movim.eu">
|
<a href="https://join.movim.eu">
|
||||||
join.movim.eu</a>
|
join.movim.eu
|
||||||
|
</a>
|
||||||
|
​ 
|
||||||
(If you already have a XMPP account, you can directly join).
|
(If you already have a XMPP account, you can directly join).
|
||||||
</p>
|
</p>
|
||||||
<h4>Press</h4>
|
<h4>
|
||||||
|
Press
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://itsfoss.com/movim/">
|
<a href="https://itsfoss.com/movim/">
|
||||||
Movim: An Open-Source Decentralized Social Platform Based on XMPP Network
|
Movim: An Open-Source Decentralized Social Platform Based on XMPP Network
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
(itsfoss.com)
|
(itsfoss.com)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://medevel.com/movim/">
|
<a href="https://medevel.com/movim/">
|
||||||
Movim: a decentralized open-source XMPP-based messaging and social platform
|
Movim: a decentralized open-source XMPP-based messaging and social platform
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
(medevel.com)
|
(medevel.com)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://www.zdnet.fr/actualites/reseaux-sociaux-decentralises-movim-peut-il-reussir-la-ou-diaspora-a-echoue-39791588.htm">
|
<a href="https://www.zdnet.fr/actualites/reseaux-sociaux-decentralises-movim-peut-il-reussir-la-ou-diaspora-a-echoue-39791588.htm">
|
||||||
Réseaux sociaux décentralisés : Movim peut-il réussir là où Diaspora a échoué
|
Réseaux sociaux décentralisés : Movim peut-il réussir là où Diaspora a échoué
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
(zdnet.fr)
|
(zdnet.fr)
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -166,12 +185,14 @@
|
||||||
<a href="https://movim.eu">
|
<a href="https://movim.eu">
|
||||||
Official Site
|
Official Site
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
(movim.eu)
|
(movim.eu)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="xmpp:movim@conference.movim.eu?join">
|
<a href="xmpp:movim@conference.movim.eu?join">
|
||||||
Official Group Chat
|
Official Group Chat
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
(conference.movim.eu)
|
(conference.movim.eu)
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / now</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / philosophy</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / profile</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / projects</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / pubsub</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
@ -183,18 +183,22 @@
|
||||||
<a href="/?tags=brand:the-pirate-bay">
|
<a href="/?tags=brand:the-pirate-bay">
|
||||||
brand:the-pirate-bay
|
brand:the-pirate-bay
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
<a href="/?tags=directory:torrent">
|
<a href="/?tags=directory:torrent">
|
||||||
directory:torrent
|
directory:torrent
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
<a href="/?tags=service:search">
|
<a href="/?tags=service:search">
|
||||||
service:search
|
service:search
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
by
|
by
|
||||||
<a href="/jid/fionn@jabber.i2p">Fionn</a>
|
<a href="/jid/fionn@jabber.i2p">Fionn</a>
|
||||||
...
|
…
|
||||||
<a href="/url/3d0db4c019a01ebbbab1cf0723ed7ddd">
|
<a href="/url/3d0db4c019a01ebbbab1cf0723ed7ddd">
|
||||||
<span class="instances-degree-fourth">and 57,293 other people</span>
|
<span class="instances-degree-fourth">and 57,293 other people</span>
|
||||||
</a>
|
</a>
|
||||||
|
​ 
|
||||||
at
|
at
|
||||||
<span class="date">{{date_now_readable}}</span>
|
<span class="date">{{date_now_readable}}</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -205,6 +209,23 @@
|
||||||
node <code>urn:xmpp:bibliography:0</code> of your XMPP
|
node <code>urn:xmpp:bibliography:0</code> of your XMPP
|
||||||
account.
|
account.
|
||||||
</p>
|
</p>
|
||||||
|
<h4>Resources</h4>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a href="https://wiki.xmpp.org/web/PubSub_message_types">
|
||||||
|
PubSub message types
|
||||||
|
</a>
|
||||||
|
​ 
|
||||||
|
(wiki.xmpp.org)
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="https://wiki.xmpp.org/web/Tech_pages/PubSub">
|
||||||
|
Tech pages/PubSub
|
||||||
|
</a>
|
||||||
|
​ 
|
||||||
|
(wiki.xmpp.org)
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
<br/>
|
<br/>
|
||||||
<p class="quote bottom"
|
<p class="quote bottom"
|
||||||
title="Arthur Schopenhauer speaks about Bob Wyman, Jérôme Poisson, Joe Hildebrand, Peter Saint-Andre, and Timothée Jaussoin.">
|
title="Arthur Schopenhauer speaks about Bob Wyman, Jérôme Poisson, Joe Hildebrand, Peter Saint-Andre, and Timothée Jaussoin.">
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / questions</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
@ -53,13 +53,19 @@
|
||||||
<div id="main" class="row">
|
<div id="main" class="row">
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<h2> PubSub Bookmarks</h2>
|
<h2> PubSub Bookmarks</h2>
|
||||||
<p>» Queries about Blasta.</p>
|
<p>
|
||||||
<h3>Questions</h3>
|
» Queries about Blasta.
|
||||||
|
</p>
|
||||||
|
<h3>
|
||||||
|
Questions
|
||||||
|
</h3>
|
||||||
<p>
|
<p>
|
||||||
This document enumerates questions that were referred to the
|
This document enumerates questions that were referred to the
|
||||||
project Blasta.
|
project Blasta.
|
||||||
</p>
|
</p>
|
||||||
<h4 id="what-is-jid">What is JID and what does it mean?</h4>
|
<h4 id="what-is-jid">
|
||||||
|
What is JID and what does it mean?
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
JID is an abbreviation of Jabber ID.
|
JID is an abbreviation of Jabber ID.
|
||||||
</p>
|
</p>
|
||||||
|
@ -87,7 +93,9 @@
|
||||||
is related to computer language rust be tagged with
|
is related to computer language rust be tagged with
|
||||||
"code:rust".
|
"code:rust".
|
||||||
</p>
|
</p>
|
||||||
<h4 id="why-blasta">Why did you create Blasta?</h4>
|
<h4 id="why-blasta">
|
||||||
|
Why did you create Blasta?
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
We have created Blasta out of necessity.
|
We have created Blasta out of necessity.
|
||||||
</p>
|
</p>
|
||||||
|
@ -112,7 +120,9 @@
|
||||||
Hence, we have created Blasta, which is a combination of
|
Hence, we have created Blasta, which is a combination of
|
||||||
YaCy and Shaarli, and is built on top of XMPP.
|
YaCy and Shaarli, and is built on top of XMPP.
|
||||||
</p>
|
</p>
|
||||||
<h4 id="why-free">Why do you provide Blasta for free?</h4>
|
<h4 id="why-free">
|
||||||
|
Why do you provide Blasta for free?
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
While we want to make profit, and feed our wives and
|
While we want to make profit, and feed our wives and
|
||||||
children, we are aware that we must be providing the Blasta
|
children, we are aware that we must be providing the Blasta
|
||||||
|
@ -127,14 +137,16 @@
|
||||||
later becomes clandestinely subdued to thugs from government
|
later becomes clandestinely subdued to thugs from government
|
||||||
or intelligence, which is the worst of all circumstances.
|
or intelligence, which is the worst of all circumstances.
|
||||||
</p>
|
</p>
|
||||||
<h4 id="perspective">What is your perspective?</h4>
|
<h4 id="perspective">
|
||||||
|
What is your perspective?
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
Our perspective is that people should be living for the sake
|
Our perspective is that people should be living for the sake
|
||||||
of eternity, which is what we are doing by creating and
|
of eternity, which is what we are doing by creating and
|
||||||
distributing Blasta.
|
distributing Blasta.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
As conveyed in verse 77 of Hávamál:
|
As conveyed in verse 77 of Hávamál
|
||||||
</p>
|
</p>
|
||||||
<p class="quote" title="“Deyr fé, deyja frændr, deyr sjalfr it sama, ek veit einn, at aldrei deyr: dómr um dauðan hvern.”">
|
<p class="quote" title="“Deyr fé, deyja frændr, deyr sjalfr it sama, ek veit einn, at aldrei deyr: dómr um dauðan hvern.”">
|
||||||
“Kinsmen die, and cattle die and so must one die oneself;
|
“Kinsmen die, and cattle die and so must one die oneself;
|
||||||
|
@ -146,11 +158,11 @@
|
||||||
― Hávamál: Sayings of the High One
|
― Hávamál: Sayings of the High One
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The German philosopher Arthur Schopenhauer has expressed
|
The German philosopher Arthur Schopenhauer expressed
|
||||||
since the same idea when he said:
|
essentially the same idea when he said, that
|
||||||
</p>
|
</p>
|
||||||
<p class="quote">
|
<p class="quote">
|
||||||
“The most any man can hope for:
|
“The very most any man can hope for:
|
||||||
<br/>
|
<br/>
|
||||||
Is a heroic passage through life.”
|
Is a heroic passage through life.”
|
||||||
<br/>
|
<br/>
|
||||||
|
@ -162,18 +174,24 @@
|
||||||
<p>
|
<p>
|
||||||
Greatness, rather than happiness, is
|
Greatness, rather than happiness, is
|
||||||
<span class="instances-degree-first">
|
<span class="instances-degree-first">
|
||||||
a mark of a good life</span>.
|
the mark of a good life
|
||||||
|
</span>
|
||||||
|
​
|
||||||
|
.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Live for the sake of eternity, for the past, and towards the
|
Live for the sake of eternity, for the past, and towards the
|
||||||
future.
|
future.
|
||||||
</p>
|
</p>
|
||||||
<h4 id="why-xmpp">Why did you choose XMPP as a platform?</h4>
|
<h4 id="why-xmpp">
|
||||||
|
Why did you choose XMPP as a platform?
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
The XMPP platform (which is also known as Jabber), is a
|
The <a href="/help/about/xmpp">XMPP</a> platform (which is
|
||||||
reputable and a strong telecommunication platform which
|
also known as Jabber), is a reputable and a strong
|
||||||
almost every intelligence and militant agency on the world
|
telecommunication platform which almost every intelligence
|
||||||
is making use of as a premier telecommunication mean.
|
and militant agency on the world is making use of as a
|
||||||
|
premier telecommunication mean.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Because we did not want to use databases, which sometimes
|
Because we did not want to use databases, which sometimes
|
||||||
|
@ -191,7 +209,8 @@
|
||||||
needed.
|
needed.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
So we chose the specification XEP-0060: Publish-Subscribe
|
So we chose the specification XEP-0060:
|
||||||
|
<a href="/help/about/xmpp/pubsub">Publish-Subscribe</a>
|
||||||
(PubSub) as a base mechanism for a data storage platform.
|
(PubSub) as a base mechanism for a data storage platform.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -201,25 +220,31 @@
|
||||||
truely private and is truely owned by the account owner,
|
truely private and is truely owned by the account owner,
|
||||||
which is also a major advantage to Blasta, not only for the
|
which is also a major advantage to Blasta, not only for the
|
||||||
sake of privacy and data integrity, but also for an
|
sake of privacy and data integrity, but also for an
|
||||||
immediate recoverying of the bookmarks sharing system, if
|
immediate recovery of the bookmarks sharing system, if the
|
||||||
the Blasta database would be to diappear or should be
|
Blasta database would be to diappear or should be
|
||||||
restructured.
|
restructured anew.
|
||||||
</p>
|
</p>
|
||||||
<p>Use XMPP. Spread XMPP. Be XMPP.</p>
|
<p>
|
||||||
<h4 id="other-platforms">What platform would you choose if not XMPP?</h4>
|
Use XMPP. Spread XMPP. Be XMPP.
|
||||||
|
</p>
|
||||||
|
<h4 id="other-platforms">
|
||||||
|
What platform would you choose if not XMPP?
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
If we were to choose another platfom, it probably would have
|
If we were to choose another platfom, it probably would have
|
||||||
been DeltaChat (SMTP and IMAP), Nostr or Session.
|
been DeltaChat (SMTP and IMAP), Nostr or Session.
|
||||||
</p>
|
</p>
|
||||||
<h4>Why did you decide to make Blasta open source?</h4>
|
<h4>
|
||||||
|
Why did you decide to make Blasta open source?
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
One of the main reasons is for freedom to thrive.
|
One of the main reasons is for freedom to thrive.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
We are worried due to various of PsyOps that are conducted
|
We are worried due to various of PsyOps that are being
|
||||||
by governments, military and intelligence agencies, and we
|
conducted by governments, military and intelligence
|
||||||
realize that most of their success relies on the
|
agencies, and we realize that most of their success relies
|
||||||
centralization of information hubs; and
|
on the centralization of information hubs; and
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
We are further worried of the awful measures that are being
|
We are further worried of the awful measures that are being
|
||||||
|
@ -276,7 +301,9 @@
|
||||||
functionality with <a href="/help/utilities#greasemonkey">
|
functionality with <a href="/help/utilities#greasemonkey">
|
||||||
userscripts and userstyles</a>.
|
userscripts and userstyles</a>.
|
||||||
</p>
|
</p>
|
||||||
<h4 id="conclusion">Conclusion</h4>
|
<h4 id="conclusion">
|
||||||
|
Conclusion
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
Please <a href="/contact">contact us</a> and ask us
|
Please <a href="/contact">contact us</a> and ask us
|
||||||
anything. We will be happy to read from you!
|
anything. We will be happy to read from you!
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / register</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / {{path}}</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
{{description}}
|
{{description}}
|
||||||
</h3>
|
</h3>
|
||||||
<p>
|
<p>
|
||||||
You can return to the previous page or browse
|
You can try to reload this page or browse
|
||||||
{% if jabber_id %}
|
{% if jabber_id %}
|
||||||
your <a href="/jid">bookmarks</a>.
|
your <a href="/jid">bookmarks</a>.
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / search</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / software</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / syndication</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
@ -67,16 +67,23 @@
|
||||||
pages that list bookmarks.
|
pages that list bookmarks.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
An atom <span class="enlarge">⚛</span> or an orange
|
An atom or an orange icon (
|
||||||
<img src="/graphic/syndicate.svg" width="16" height="16"/>
|
<img alt="⚛"
|
||||||
icon at the bottom of a subject page would indicate of
|
class="enlarge"
|
||||||
|
height="16"
|
||||||
|
src="/graphic/syndicate.svg"
|
||||||
|
width="16"/>
|
||||||
|
) at the bottom of a subject page would indicate of
|
||||||
availability of an Atom Syndication Feed for use with
|
availability of an Atom Syndication Feed for use with
|
||||||
Feed Reader.
|
Feed Reader.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
A bulb 💡 or an XMPP
|
A bulb or an XMPP icon (
|
||||||
<img src="/graphic/xmpp.svg" width="16" height="16"/>
|
<img alt="💡"
|
||||||
icon at the bottom of a subject page would indicate of
|
height="16"
|
||||||
|
src="/graphic/xmpp.svg"
|
||||||
|
width="16"/>
|
||||||
|
) at the bottom of a subject page would indicate of
|
||||||
availability of a PubSub subscription for use with an
|
availability of a PubSub subscription for use with an
|
||||||
XMPP client.
|
XMPP client.
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / tag</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
@ -70,7 +70,9 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a href="/{% if jid %}jid/{{jid}}{% endif %}?tags={{tag}}">
|
<a href="/{% if jid %}jid/{{jid}}{% endif %}?tags={{tag}}">
|
||||||
{{tag}}
|
{{tag}}
|
||||||
</a></span>
|
</a>
|
||||||
|
</span>
|
||||||
|
​ 
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / thanks</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
@ -56,45 +56,59 @@
|
||||||
<p>
|
<p>
|
||||||
» Gratitude and appreciation from the world over.
|
» Gratitude and appreciation from the world over.
|
||||||
</p>
|
</p>
|
||||||
<h3>Thanks</h3>
|
<h3>
|
||||||
|
Thanks
|
||||||
|
</h3>
|
||||||
<p>
|
<p>
|
||||||
We would want to express our gratitude and appreciation to
|
We would want to express our gratitude and appreciation to
|
||||||
special men and women from Argentina, Canada, France
|
special men and women from Argentina, Canada, France
|
||||||
Germany, Ireland, Italy, Palestine, Russia and The
|
Germany, Ireland, Italy, Palestine, Russia and The
|
||||||
Netherlands.
|
Netherlands.
|
||||||
</p>
|
</p>
|
||||||
<h4>Mr. Damian Sartori</h4>
|
<h4>
|
||||||
|
Mr. Damian Sartori
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
We would want to thank to Mr. Damian Sartori (a.k.a.:
|
We would want to thank to Mr. Damian Sartori (a.k.a.:
|
||||||
TheCoffeMaker) from <a href="https://cyberdelia.com.ar/">
|
TheCoffeMaker) from <a href="https://cyberdelia.com.ar/">
|
||||||
Cyberdelia</a> for providing instructions for present and
|
Cyberdelia</a> for providing instructions for present and
|
||||||
future database management.
|
future database management.
|
||||||
</p>
|
</p>
|
||||||
<h4>Mr. Guus der Kinderen</h4>
|
<h4>
|
||||||
|
Mr. Guus der Kinderen
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
We would want to thank to Mr. Guus der Kinderen of
|
We would want to thank to Mr. Guus der Kinderen of
|
||||||
<a href="http://igniterealtime.org">Ignite Realtime</a> who
|
<a href="http://igniterealtime.org">Ignite Realtime</a> who
|
||||||
has instantly provided us with relevant references from
|
has instantly provided us with relevant references from the
|
||||||
|
XMPP specification
|
||||||
<a href="https://xmpp.org/extensions/xep-0060.html">
|
<a href="https://xmpp.org/extensions/xep-0060.html">
|
||||||
XEP-0060: Publish-Subscribe</a> and who has generously
|
XEP-0060: Publish-Subscribe</a> and who has generously
|
||||||
provided us with <a href="http://goodbytes.im">Goodbytes</a>
|
provided us with <a href="http://goodbytes.im">Goodbytes</a>
|
||||||
Openfire servers for testing Blasta and related projects.
|
<a href="https://igniterealtime.org/projects/openfire/">
|
||||||
|
Openfire</a> servers for testing Blasta.
|
||||||
</p>
|
</p>
|
||||||
<h4>Mr. Jérôme Poisson</h4>
|
<h4>
|
||||||
|
Mr. Jérôme Poisson
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
We would want to thank to Mr. Jérôme Poisson of project
|
We would want to thank to Mr. Jérôme Poisson of project
|
||||||
<a href="https://libervia.org">Libervia</a> who has
|
<a href="https://libervia.org">Libervia</a> who has
|
||||||
instructed us in coordinating the Blasta system with the
|
instructed us in coordinating the Blasta system with the
|
||||||
Libervia system.
|
Libervia system.
|
||||||
</p>
|
</p>
|
||||||
<h4>Mrs. Laura Lapina</h4>
|
<h4>
|
||||||
|
Mrs. Laura Lapina
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
We would want to thank to Mrs. Laura Lapina of 404 City and
|
We would want to thank to Mrs. Laura Lapina of 404 City and
|
||||||
Loqi who has contributed her advises to select the proper
|
Loqi who has contributed her advises to select the proper
|
||||||
technologies, and plan and engineer the master database
|
technologies, and plan and engineer the master database
|
||||||
operation workflow.
|
operation workflow.
|
||||||
</p>
|
</p>
|
||||||
<h4>Mr. Schimon Jehudah Zachary</h4>
|
<h4>
|
||||||
|
Mr. Schimon Jehudah Zachary
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
We would want to thank to Mr. Schimon Jehudah Zachary of
|
We would want to thank to Mr. Schimon Jehudah Zachary of
|
||||||
project <a href="https://git.xmpp-it.net/sch/Rivista">
|
project <a href="https://git.xmpp-it.net/sch/Rivista">
|
||||||
|
@ -104,22 +118,28 @@
|
||||||
information, including elaborative SQLite queries that have
|
information, including elaborative SQLite queries that have
|
||||||
accelerated and saved us precious development time.
|
accelerated and saved us precious development time.
|
||||||
</p>
|
</p>
|
||||||
<h4>Mr. Simone Canaletti</h4>
|
<h4>
|
||||||
|
Mr. Simone Canaletti
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
We would want to thank to Mr. Simone Canaletti of project
|
We would want to thank to Mr. Simone Canaletti of project
|
||||||
<a href="https://woodpeckersnest.eu">WPN</a> who has helped
|
<a href="https://woodpeckersnest.eu">WPN</a> who has helped
|
||||||
in deploying and testing our applications, including
|
in deploying and testing Blasta, including benchmarking for
|
||||||
benchmarking for mass deployment, in addition to providing
|
mass deployment, in addition to providing us with the
|
||||||
us with the adequate means for hosting the development
|
adequate means for hosting the development ground of the
|
||||||
ground of the Blasta platform and related projects.
|
Blasta platform and related projects.
|
||||||
</p>
|
</p>
|
||||||
<h4>Mr. Stephen Paul Weber</h4>
|
<h4>
|
||||||
|
Mr. Stephen Paul Weber
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
We would want to thank to Mr. Stephen Paul Weber of project
|
We would want to thank to Mr. Stephen Paul Weber of project
|
||||||
<a href="https://soprani.ca">Soprani.ca</a> who has
|
<a href="https://soprani.ca">Soprani.ca</a> who has
|
||||||
explained to us about various of the XMPP specifications.
|
explained to us about various of the XMPP specifications.
|
||||||
</p>
|
</p>
|
||||||
<h4>Mr. Timothée Jaussoin</h4>
|
<h4>
|
||||||
|
Mr. Timothée Jaussoin
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
We would want to thank to Mr. Timothée Jaussoin of project
|
We would want to thank to Mr. Timothée Jaussoin of project
|
||||||
<a href="https://movim.eu">Movim</a> who has contributed
|
<a href="https://movim.eu">Movim</a> who has contributed
|
||||||
|
@ -130,7 +150,9 @@
|
||||||
various of occasions, including answering to questions that
|
various of occasions, including answering to questions that
|
||||||
were already asked and answered more than once.
|
were already asked and answered more than once.
|
||||||
</p>
|
</p>
|
||||||
<h4>XMPP Berlin in association with XMPP Italia</h4>
|
<h4>
|
||||||
|
XMPP Berlin in association with XMPP Italia
|
||||||
|
</h4>
|
||||||
<p>
|
<p>
|
||||||
Finally, we would want to thank to the fine gentlemen
|
Finally, we would want to thank to the fine gentlemen
|
||||||
Lorenzo, Mario, Martin, Roberto, Schimon, Simone, and others
|
Lorenzo, Mario, Martin, Roberto, Schimon, Simone, and others
|
||||||
|
@ -143,7 +165,9 @@
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="https://video.xmpp-it.net">XMPP-IT</a>
|
<a href="https://video.xmpp-it.net">
|
||||||
|
XMPP-IT
|
||||||
|
</a>
|
||||||
</p>
|
</p>
|
||||||
<br/>
|
<br/>
|
||||||
<p class="quote bottom">
|
<p class="quote bottom">
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / utilities</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="color-scheme" content="dark light" />
|
<meta name="color-scheme" content="dark light" />
|
||||||
<title>Blasta</title>
|
<title>Blasta / xmpp</title>
|
||||||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||||||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||||||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||||||
|
|
Loading…
Reference in a new issue