Metadata in PDF files can be stored in at least two places:
- the Info Dictionary, a limited set of key/value pairs
- XMP packets, which contain RDF statements expressed as XML
<!doctype html> | |
<title>Site Maintenance</title> | |
<style> | |
body { text-align: center; padding: 150px; } | |
h1 { font-size: 50px; } | |
body { font: 20px Helvetica, sans-serif; color: #333; } | |
article { display: block; text-align: left; width: 650px; margin: 0 auto; } | |
a { color: #dc8100; text-decoration: none; } | |
a:hover { color: #333; text-decoration: none; } | |
</style> |
{ | |
"defaultAction": "SCMP_ACT_ERRNO", | |
"archMap": [ | |
{ | |
"architecture": "SCMP_ARCH_X86_64", | |
"subArchitectures": [ | |
"SCMP_ARCH_X86", | |
"SCMP_ARCH_X32" | |
] | |
}, |
<template> | |
<div :id="uppyId"> | |
<div class="ThumbnailContainer" v-if="collection === 'thumbnail'"> | |
<button id="open-thumbnail-modal" class="button">Select file</button> | |
</div> | |
<div class="DashboardContainer" v-else></div> | |
</div> | |
</template> |
<template> | |
<div :id="uppyId"> | |
<div v-show="collection" class="DashboardContainer"/> | |
<div v-show="!collection" class="ThumbnailContainer"> | |
<button id="open-thumbnail-modal" type="button" class="btn btn-primary" >Select File{{ collection ? 's' : '' }}</button> | |
</div> | |
</div> | |
</template> | |
<script> |
<template> | |
<div :id="uppyId"> | |
<div class="uppyFileInput" /> | |
</div> | |
</template> | |
<script> | |
import uppy from "@uppy/core"; | |
import XHRUpload from "@uppy/xhr-upload"; | |
import FileInput from "@uppy/file-input"; |
/* | |
* Invokes que submission of the main task form, via a button placed outside the form. | |
* Also, requests for confirmation after the form validation passes correctly. | |
* @author: Jonathan Vargas | |
*/ | |
function triggerTaskFormSubmit () | |
{ | |
// Finds required objects | |
var completeButton = jQuery ('button.btn-task-form')[0]; | |
var mainTaskForm = jQuery('form.main-task-form'); |
const redisClient = redis.createClient(REDIS_URL); | |
const listeners = Object.create(null); | |
function addListener(channel, listener) { | |
if (!listeners[channel]) { | |
listeners[channel] = []; | |
redisClient.subscribe(channel); | |
} | |
listeners[channel].push(listener); |
#!/bin/sh | |
# Converts a mysqldump file into a Sqlite 3 compatible file. It also extracts the MySQL `KEY xxxxx` from the | |
# CREATE block and create them in separate commands _after_ all the INSERTs. | |
# Awk is choosen because it's fast and portable. You can use gawk, original awk or even the lightning fast mawk. | |
# The mysqldump file is traversed only once. | |
# Usage: $ ./mysql2sqlite mysqldump-opts db-name | sqlite3 database.sqlite | |
# Example: $ ./mysql2sqlite --no-data -u root -pMySecretPassWord myDbase | sqlite3 database.sqlite |
#!/usr/bin/env bash | |
############################################################################## | |
#### MIME interface | |
############################################################################## | |
# Parse message in MIME format and create a temporary cache directory | |
mime_parse() | |
{ | |
MIME_CACHE=${MIME_CACHE:-`mktemp -d ${BIN}.XXXXXXXXXX`} |