forked from cory/tildefriends
Add a little app to list apps.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3712 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
parent
263a59f6c5
commit
f676cd937f
1
apps/cory/apps.json
Normal file
1
apps/cory/apps.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"type":"tildefriends-app","files":{"app.js":"&8DbkWJq+bDlPNGZGVWrlVyMzo+weV5GBfcleQSjIPjI=.sha256"}}
|
24
apps/cory/apps/app.js
Normal file
24
apps/cory/apps/app.js
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
async function main() {
|
||||||
|
var apps = await core.apps();
|
||||||
|
var doc = `<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<body style="background: #888">
|
||||||
|
<h1>Apps</h1>
|
||||||
|
<ul id="apps"></ul>
|
||||||
|
</body>
|
||||||
|
<script>
|
||||||
|
var apps = ${JSON.stringify(apps)};
|
||||||
|
for (let app of Object.keys(apps)) {
|
||||||
|
var li = document.getElementById('apps').appendChild(document.createElement('li'));
|
||||||
|
var a = document.createElement('a');
|
||||||
|
a.innerText = app;
|
||||||
|
a.href = '../' + app;
|
||||||
|
a.target = '_top';
|
||||||
|
li.appendChild(a);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</html>`
|
||||||
|
app.setDocument(doc);
|
||||||
|
}
|
||||||
|
|
||||||
|
main();
|
@ -273,6 +273,7 @@ static int _tf_command_export(const char* file, int argc, char* argv[])
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
const char* k_export[] = {
|
const char* k_export[] = {
|
||||||
|
"/~cory/apps",
|
||||||
"/~cory/index",
|
"/~cory/index",
|
||||||
"/~cory/docs",
|
"/~cory/docs",
|
||||||
};
|
};
|
||||||
|
@ -22,6 +22,14 @@ static void _write_file(const char* path, void* blob, size_t size)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void _make_dir(const char* path)
|
||||||
|
{
|
||||||
|
if (mkdir(path, 0755) && errno != EEXIST)
|
||||||
|
{
|
||||||
|
printf("Failed to create directory %s: %s.\n", path, strerror(errno));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void tf_ssb_export(tf_ssb_t* ssb, const char* key)
|
void tf_ssb_export(tf_ssb_t* ssb, const char* key)
|
||||||
{
|
{
|
||||||
char user[256] = { 0 };
|
char user[256] = { 0 };
|
||||||
@ -66,6 +74,11 @@ void tf_ssb_export(tf_ssb_t* ssb, const char* key)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
char file_path[1024];
|
char file_path[1024];
|
||||||
|
_make_dir("apps/");
|
||||||
|
snprintf(file_path, sizeof(file_path), "apps/%s", user);
|
||||||
|
_make_dir(file_path);
|
||||||
|
snprintf(file_path, sizeof(file_path), "apps/%s/%s", user, path);
|
||||||
|
_make_dir(file_path);
|
||||||
snprintf(file_path, sizeof(file_path), "apps/%s/%s.json", user, path);
|
snprintf(file_path, sizeof(file_path), "apps/%s/%s.json", user, path);
|
||||||
_write_file(file_path, blob, size);
|
_write_file(file_path, blob, size);
|
||||||
JSContext* context = tf_ssb_get_context(ssb);
|
JSContext* context = tf_ssb_get_context(ssb);
|
||||||
|
Loading…
Reference in New Issue
Block a user