Add ODT note export, add more metadata to HTML export
This commit is contained in:
parent
061834572a
commit
3ff8a9389a
26
action.php
26
action.php
@ -70,9 +70,29 @@ switch ($VARS['action']) {
|
|||||||
if (!$note->hasReadAccess(new User($_SESSION['uid']))) {
|
if (!$note->hasReadAccess(new User($_SESSION['uid']))) {
|
||||||
die($Strings->get("invalid parameters", false));
|
die($Strings->get("invalid parameters", false));
|
||||||
}
|
}
|
||||||
header("Content-Type: text/markdown; charset=UTF-8");
|
if (empty($VARS['type'])) {
|
||||||
header("Content-disposition: attachment; filename=\"" . $note->getCleanTitle() . "_" . $note->getModified() . ".md\"");
|
$VARS['type'] = "markdown";
|
||||||
echo $note->getText();
|
}
|
||||||
|
|
||||||
|
switch ($VARS['type']) {
|
||||||
|
case "html":
|
||||||
|
header("Content-Type: text/html; charset=UTF-8");
|
||||||
|
header("Content-disposition: attachment; filename=\"" . $note->getCleanTitle() . "_" . $note->getModified() . ".html\"");
|
||||||
|
echo $note->getHTML(false);
|
||||||
|
break;
|
||||||
|
case "odt":
|
||||||
|
if (PANDOC_BIN != "") {
|
||||||
|
header("Content-Type: application/vnd.oasis.opendocument.text");
|
||||||
|
header("Content-disposition: attachment; filename=\"" . $note->getCleanTitle() . "_" . $note->getModified() . ".odt\"");
|
||||||
|
$pandoc = new Pandoc\Pandoc();
|
||||||
|
echo $pandoc->convert($note->getText(), "markdown_github", "odt");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
header("Content-Type: text/markdown; charset=UTF-8");
|
||||||
|
header("Content-disposition: attachment; filename=\"" . $note->getCleanTitle() . "_" . $note->getModified() . ".md\"");
|
||||||
|
echo $note->getText();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case "favoritenote":
|
case "favoritenote":
|
||||||
if (empty($VARS['noteid'])) {
|
if (empty($VARS['noteid'])) {
|
||||||
|
@ -8,7 +8,8 @@
|
|||||||
"erusev/parsedown": "^1.7",
|
"erusev/parsedown": "^1.7",
|
||||||
"leblanc-simon/parsedown-checkbox": "^0.0.2",
|
"leblanc-simon/parsedown-checkbox": "^0.0.2",
|
||||||
"erusev/parsedown-extra": "^0.7.1",
|
"erusev/parsedown-extra": "^0.7.1",
|
||||||
"vanilla/htmlawed": "v2.2.4.1"
|
"vanilla/htmlawed": "v2.2.4.1",
|
||||||
|
"ryakad/pandoc-php": "^1.0"
|
||||||
},
|
},
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"authors": [
|
"authors": [
|
||||||
|
28
composer.lock
generated
28
composer.lock
generated
@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "b50c578394552657e0fcab936a4b1a01",
|
"content-hash": "cd5ba5d882b72c49f91fbc1a6bd97095",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "catfan/medoo",
|
"name": "catfan/medoo",
|
||||||
@ -431,6 +431,32 @@
|
|||||||
],
|
],
|
||||||
"time": "2016-08-06T14:39:51+00:00"
|
"time": "2016-08-06T14:39:51+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "ryakad/pandoc-php",
|
||||||
|
"version": "v1.0.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/ryakad/pandoc-php.git",
|
||||||
|
"reference": "0cfdf959408e4c481db942b26785d94b9fe46672"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/ryakad/pandoc-php/zipball/0cfdf959408e4c481db942b26785d94b9fe46672",
|
||||||
|
"reference": "0cfdf959408e4c481db942b26785d94b9fe46672",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"Pandoc": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"time": "2015-01-07T05:07:16+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "vanilla/htmlawed",
|
"name": "vanilla/htmlawed",
|
||||||
"version": "v2.2.4.1",
|
"version": "v2.2.4.1",
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
"Note": "Note",
|
"Note": "Note",
|
||||||
"Edit": "Edit",
|
"Edit": "Edit",
|
||||||
"Delete": "Delete",
|
"Delete": "Delete",
|
||||||
"Download": "Download",
|
|
||||||
"Note deleted": "Note deleted",
|
"Note deleted": "Note deleted",
|
||||||
"Favorite": "Favorite",
|
"Favorite": "Favorite",
|
||||||
"Set color": "Set color",
|
"Set color": "Set color",
|
||||||
@ -14,5 +13,13 @@
|
|||||||
"Close": "Close",
|
"Close": "Close",
|
||||||
"Refresh": "Refresh",
|
"Refresh": "Refresh",
|
||||||
"Make a List": "Make a List",
|
"Make a List": "Make a List",
|
||||||
"More": "More"
|
"More": "More",
|
||||||
|
"More Options": "More Options",
|
||||||
|
"Download": "Download",
|
||||||
|
"Text": "Text",
|
||||||
|
"HTML": "HTML",
|
||||||
|
"Office": "Office",
|
||||||
|
"Download (Text)": "Download (Text)",
|
||||||
|
"Download (HTML)": "Download (HTML)",
|
||||||
|
"Download (Office)": "Download (Office)"
|
||||||
}
|
}
|
||||||
|
@ -125,7 +125,12 @@ class Note {
|
|||||||
$document = "<!DOCTYPE html>\n"
|
$document = "<!DOCTYPE html>\n"
|
||||||
. "<meta charset=\"UTF-8\">\n"
|
. "<meta charset=\"UTF-8\">\n"
|
||||||
. "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n"
|
. "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n"
|
||||||
. "<title>" . $this->getCleanTitle() . " (" . $note->getModified() . ")</title>\n"
|
. "<meta name=\"author\" content=\"" . htmlentities($this->getOwner()->getName()) . "\">\n"
|
||||||
|
. "<meta name=\"generator\" content=\"" . SITE_TITLE . "\">\n"
|
||||||
|
. "<link rel=\"schema.dcterms\" href=\"http://purl.org/dc/terms/\">\n"
|
||||||
|
. "<meta name=\"dcterms.modified\" content=\"" . date("Y-m-d", strtotime($this->getModified())) . "\">\n"
|
||||||
|
. "\n"
|
||||||
|
. "<title>" . $this->getCleanTitle() . "</title>\n"
|
||||||
. "\n"
|
. "\n"
|
||||||
. $safehtml;
|
. $safehtml;
|
||||||
return $document;
|
return $document;
|
||||||
|
@ -135,12 +135,35 @@ foreach ($colors as $c) {
|
|||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="moreoptionsbtn_<?php echo $note->getID(); ?>">
|
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="moreoptionsbtn_<?php echo $note->getID(); ?>">
|
||||||
|
<!--<h4 class="dropdown-header"><?php $Strings->get("More Options"); ?></h4>-->
|
||||||
<a class="dropdown-item" href="./action.php?action=deletenote¬eid=<?php echo $note->getID(); ?>">
|
<a class="dropdown-item" href="./action.php?action=deletenote¬eid=<?php echo $note->getID(); ?>">
|
||||||
<i class="fas fa-trash"></i> <?php $Strings->get('Delete'); ?>
|
<i class="fas fa-trash fa-fw"></i> <?php $Strings->get('Delete'); ?>
|
||||||
</a>
|
|
||||||
<a class="dropdown-item" href="./action.php?action=downloadnote¬eid=<?php echo $note->getID(); ?>">
|
|
||||||
<i class="fas fa-download"></i> <?php $Strings->get('Download'); ?>
|
|
||||||
</a>
|
</a>
|
||||||
|
<div class="dropdown-divider"></div>
|
||||||
|
<h4 class="dropdown-header"><i class="fas fa-cloud-download-alt fa-fw"></i> <?php $Strings->get('Download'); ?></h4>
|
||||||
|
<div class="dropdown-item d-flex justify-content-between">
|
||||||
|
<a class="p-2" href="./action.php?action=downloadnote¬eid=<?php echo $note->getID(); ?>&type=markdown">
|
||||||
|
<i class="fas fa-align-left"></i> <?php $Strings->get('Text'); ?>
|
||||||
|
</a>
|
||||||
|
<a class="p-2" href="./action.php?action=downloadnote¬eid=<?php echo $note->getID(); ?>&type=html">
|
||||||
|
<i class="fab fa-html5"></i> <?php $Strings->get('HTML'); ?>
|
||||||
|
</a>
|
||||||
|
<?php
|
||||||
|
// Additional export formats
|
||||||
|
if (PANDOC_BIN != "") {
|
||||||
|
?>
|
||||||
|
<a class="p-2" href="./action.php?action=downloadnote¬eid=<?php echo $note->getID(); ?>&type=odt">
|
||||||
|
<i class="fas fa-file-alt"></i> <?php $Strings->get('Office'); ?>
|
||||||
|
</a>
|
||||||
|
<?php
|
||||||
|
} else {
|
||||||
|
// Fillin' space
|
||||||
|
?>
|
||||||
|
<span class="px-4"> </span>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -20,6 +20,9 @@ define("DB_CHARSET", "utf8");
|
|||||||
// Name of the app.
|
// Name of the app.
|
||||||
define("SITE_TITLE", "NotePost");
|
define("SITE_TITLE", "NotePost");
|
||||||
|
|
||||||
|
// Location of the pandoc binary. Enables exporting notes as ODT.
|
||||||
|
// Leave as an empty string to hide/disable this feature in the GUI.
|
||||||
|
define("PANDOC_BIN", "/usr/bin/pandoc");
|
||||||
|
|
||||||
// URL of the AccountHub API endpoint
|
// URL of the AccountHub API endpoint
|
||||||
define("PORTAL_API", "http://localhost/accounthub/api.php");
|
define("PORTAL_API", "http://localhost/accounthub/api.php");
|
||||||
|
@ -28,11 +28,12 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|||||||
|
|
||||||
.dropdown-menu {
|
.dropdown-menu {
|
||||||
z-index: 9999999;
|
z-index: 9999999;
|
||||||
transform: translate3d(-100px, -85px, 0px) !important;
|
transform: translate3d(-180px, -125px, 0px) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown-item {
|
.dropdown-item, .dropdown-item a, .dropdown-item a:hover {
|
||||||
color: #212121 !important;
|
color: #212121 !important;
|
||||||
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.parsedown-task-list-close {
|
.parsedown-task-list-close {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user