end october

main
iOS 2 years ago
parent 542fe9c694
commit 5356323211

@ -14,5 +14,5 @@
"hyphenation_justification",
"big_icon_link"
],
"accentColor": ""
"accentColor": "#3a87fe"
}

@ -50,7 +50,6 @@
"obsidian-media-db-plugin",
"tasks-packrat-plugin",
"obsidian-tts",
"obsidian-chat-view",
"obsidian-style-settings",
"obsidian-camera",
"table-editor-obsidian",
@ -64,5 +63,6 @@
"obsidian-3d-graph",
"obsidian-rich-links",
"auto-card-link",
"simple-time-tracker"
"simple-time-tracker",
"obsidian-dialogue-plugin"
]

File diff suppressed because one or more lines are too long

@ -2,7 +2,7 @@
"id": "buttons",
"name": "Buttons",
"description": "Create Buttons in your Obsidian notes to run commands, open links, and insert templates",
"version": "0.4.18",
"version": "0.4.19",
"author": "shabegom",
"authorUrl": "https://shbgm.ca",
"isDesktopOnly": false,

@ -87,6 +87,12 @@ button.button-default:hover {
transform: translate3d(0px, -1.5px, 0px);
}
button.button-inline {
width: unset;
height: unset;
padding: 0 8px;
}
button.blue {
background: #76b3fa;
color: black;

@ -41,12 +41,6 @@
"icon": "lucide-bookmark",
"name": "Auto Card Link: Paste URL and enhance to card link",
"showButtons": "both"
},
{
"id": "daily-notes",
"icon": "lucide-calendar-days",
"name": "Daily notes: Open today's daily note",
"showButtons": "both"
}
],
"desktop": false,

@ -12,8 +12,8 @@
"checkpointList": [
{
"path": "/",
"date": "2022-10-26",
"size": 8146882
"date": "2022-10-30",
"size": 8552763
}
],
"activityHistory": [
@ -1179,6 +1179,22 @@
{
"date": "2022-10-26",
"value": 3112
},
{
"date": "2022-10-27",
"value": 46494
},
{
"date": "2022-10-28",
"value": 254378
},
{
"date": "2022-10-29",
"value": 7394
},
{
"date": "2022-10-30",
"value": 97773
}
]
}

@ -1,642 +0,0 @@
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
__markAsModule(target);
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __reExport = (target, module2, desc) => {
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
for (let key of __getOwnPropNames(module2))
if (!__hasOwnProp.call(target, key) && key !== "default")
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
}
return target;
};
var __toModule = (module2) => {
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
};
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
// node_modules/node-webvtt/lib/parser.js
var require_parser = __commonJS({
"node_modules/node-webvtt/lib/parser.js"(exports, module2) {
"use strict";
function ParserError(message, error) {
this.message = message;
this.error = error;
}
ParserError.prototype = Object.create(Error.prototype);
var TIMESTAMP_REGEXP = /([0-9]{1,2})?:?([0-9]{2}):([0-9]{2}\.[0-9]{2,3})/;
function parse2(input, options) {
if (!options) {
options = {};
}
const { meta = false, strict = true } = options;
if (typeof input !== "string") {
throw new ParserError("Input must be a string");
}
input = input.trim();
input = input.replace(/\r\n/g, "\n");
input = input.replace(/\r/g, "\n");
const parts = input.split("\n\n");
const header = parts.shift();
if (!header.startsWith("WEBVTT")) {
throw new ParserError('Must start with "WEBVTT"');
}
const headerParts = header.split("\n");
const headerComments = headerParts[0].replace("WEBVTT", "");
if (headerComments.length > 0 && (headerComments[0] !== " " && headerComments[0] !== " ")) {
throw new ParserError("Header comment must start with space or tab");
}
if (parts.length === 0 && headerParts.length === 1) {
return { valid: true, strict, cues: [], errors: [] };
}
if (!meta && headerParts.length > 1 && headerParts[1] !== "") {
throw new ParserError("Missing blank line after signature");
}
const { cues, errors } = parseCues(parts, strict);
if (strict && errors.length > 0) {
throw errors[0];
}
const headerMeta = meta ? parseMeta(headerParts) : null;
const result = { valid: errors.length === 0, strict, cues, errors };
if (meta) {
result.meta = headerMeta;
}
return result;
}
function parseMeta(headerParts) {
const meta = {};
headerParts.slice(1).forEach((header) => {
const splitIdx = header.indexOf(":");
const key = header.slice(0, splitIdx).trim();
const value = header.slice(splitIdx + 1).trim();
meta[key] = value;
});
return Object.keys(meta).length > 0 ? meta : null;
}
function parseCues(cues, strict) {
const errors = [];
const parsedCues = cues.map((cue, i) => {
try {
return parseCue(cue, i, strict);
} catch (e) {
errors.push(e);
return null;
}
}).filter(Boolean);
return {
cues: parsedCues,
errors
};
}
function parseCue(cue, i, strict) {
let identifier = "";
let start = 0;
let end = 0.01;
let text = "";
let styles = "";
const lines = cue.split("\n").filter(Boolean);
if (lines.length > 0 && lines[0].trim().startsWith("NOTE")) {
return null;
}
if (lines.length === 1 && !lines[0].includes("-->")) {
throw new ParserError(`Cue identifier cannot be standalone (cue #${i})`);
}
if (lines.length > 1 && !(lines[0].includes("-->") || lines[1].includes("-->"))) {
const msg = `Cue identifier needs to be followed by timestamp (cue #${i})`;
throw new ParserError(msg);
}
if (lines.length > 1 && lines[1].includes("-->")) {
identifier = lines.shift();
}
const times = typeof lines[0] === "string" && lines[0].split(" --> ");
if (times.length !== 2 || !validTimestamp(times[0]) || !validTimestamp(times[1])) {
throw new ParserError(`Invalid cue timestamp (cue #${i})`);
}
start = parseTimestamp(times[0]);
end = parseTimestamp(times[1]);
if (strict) {
if (start > end) {
throw new ParserError(`Start timestamp greater than end (cue #${i})`);
}
if (end <= start) {
throw new ParserError(`End must be greater than start (cue #${i})`);
}
}
if (!strict && end < start) {
throw new ParserError(`End must be greater or equal to start when not strict (cue #${i})`);
}
styles = times[1].replace(TIMESTAMP_REGEXP, "").trim();
lines.shift();
text = lines.join("\n");
if (!text) {
return false;
}
return { identifier, start, end, text, styles };
}
function validTimestamp(timestamp) {
return TIMESTAMP_REGEXP.test(timestamp);
}
function parseTimestamp(timestamp) {
const matches = timestamp.match(TIMESTAMP_REGEXP);
let secs = parseFloat(matches[1] || 0) * 60 * 60;
secs += parseFloat(matches[2]) * 60;
secs += parseFloat(matches[3]);
return secs;
}
module2.exports = { ParserError, parse: parse2 };
}
});
// node_modules/node-webvtt/lib/compiler.js
var require_compiler = __commonJS({
"node_modules/node-webvtt/lib/compiler.js"(exports, module2) {
"use strict";
function CompilerError(message, error) {
this.message = message;
this.error = error;
}
CompilerError.prototype = Object.create(Error.prototype);
function compile(input) {
if (!input) {
throw new CompilerError("Input must be non-null");
}
if (typeof input !== "object") {
throw new CompilerError("Input must be an object");
}
if (Array.isArray(input)) {
throw new CompilerError("Input cannot be array");
}
if (!input.valid) {
throw new CompilerError("Input must be valid");
}
let output = "WEBVTT\n";
if (input.meta) {
if (typeof input.meta !== "object" || Array.isArray(input.meta)) {
throw new CompilerError("Metadata must be an object");
}
Object.entries(input.meta).forEach((i) => {
if (typeof i[1] !== "string") {
throw new CompilerError(`Metadata value for "${i[0]}" must be string`);
}
output += `${i[0]}: ${i[1]}
`;
});
}
let lastTime = null;
input.cues.forEach((cue, index) => {
if (lastTime && lastTime > cue.start) {
throw new CompilerError(`Cue number ${index} is not in chronological order`);
}
lastTime = cue.start;
output += "\n";
output += compileCue(cue);
output += "\n";
});
return output;
}
function compileCue(cue) {
if (typeof cue !== "object") {
throw new CompilerError("Cue malformed: not of type object");
}
if (typeof cue.identifier !== "string" && typeof cue.identifier !== "number" && cue.identifier !== null) {
throw new CompilerError(`Cue malformed: identifier value is not a string.
${JSON.stringify(cue)}`);
}
if (isNaN(cue.start)) {
throw new CompilerError(`Cue malformed: null start value.
${JSON.stringify(cue)}`);
}
if (isNaN(cue.end)) {
throw new CompilerError(`Cue malformed: null end value.
${JSON.stringify(cue)}`);
}
if (cue.start >= cue.end) {
throw new CompilerError(`Cue malformed: start timestamp greater than end
${JSON.stringify(cue)}`);
}
if (typeof cue.text !== "string") {
throw new CompilerError(`Cue malformed: null text value.
${JSON.stringify(cue)}`);
}
if (typeof cue.styles !== "string") {
throw new CompilerError(`Cue malformed: null styles value.
${JSON.stringify(cue)}`);
}
let output = "";
if (cue.identifier.length > 0) {
output += `${cue.identifier}
`;
}
const startTimestamp = convertTimestamp(cue.start);
const endTimestamp = convertTimestamp(cue.end);
output += `${startTimestamp} --> ${endTimestamp}`;
output += cue.styles ? ` ${cue.styles}` : "";
output += `
${cue.text}`;
return output;
}
function convertTimestamp(time) {
const hours = pad(calculateHours(time), 2);
const minutes = pad(calculateMinutes(time), 2);
const seconds = pad(calculateSeconds(time), 2);
const milliseconds = pad(calculateMs(time), 3);
return `${hours}:${minutes}:${seconds}.${milliseconds}`;
}
function pad(num, zeroes) {
let output = `${num}`;
while (output.length < zeroes) {
output = `0${output}`;
}
return output;
}
function calculateHours(time) {
return Math.floor(time / 60 / 60);
}
function calculateMinutes(time) {
return Math.floor(time / 60) % 60;
}
function calculateSeconds(time) {
return Math.floor(time % 60);
}
function calculateMs(time) {
return Math.floor((time % 1).toFixed(4) * 1e3);
}
module2.exports = { CompilerError, compile };
}
});
// node_modules/node-webvtt/lib/segmenter.js
var require_segmenter = __commonJS({
"node_modules/node-webvtt/lib/segmenter.js"(exports, module2) {
"use strict";
var parse2 = require_parser().parse;
function segment(input, segmentLength) {
segmentLength = segmentLength || 10;
const parsed = parse2(input);
const segments = [];
let cues = [];
let queuedCue = null;
let currentSegmentDuration = 0;
let totalSegmentsDuration = 0;
parsed.cues.forEach((cue, i) => {
const firstCue = i === 0;
const lastCue = i === parsed.cues.length - 1;
const start = cue.start;
const end = cue.end;
const nextStart = lastCue ? Infinity : parsed.cues[i + 1].start;
const cueLength = firstCue ? end : end - start;
const silence = firstCue ? 0 : start - parsed.cues[i - 1].end;
currentSegmentDuration = currentSegmentDuration + cueLength + silence;
debug("------------");
debug(`Cue #${i}, segment #${segments.length + 1}`);
debug(`Start ${start}`);
debug(`End ${end}`);
debug(`Length ${cueLength}`);
debug(`Total segment duration = ${totalSegmentsDuration}`);
debug(`Current segment duration = ${currentSegmentDuration}`);
debug(`Start of next = ${nextStart}`);
if (queuedCue) {
cues.push(queuedCue);
currentSegmentDuration += queuedCue.end - totalSegmentsDuration;
queuedCue = null;
}
cues.push(cue);
let shouldQueue = nextStart - end < segmentLength && silence < segmentLength && currentSegmentDuration > segmentLength;
if (shouldSegment(totalSegmentsDuration, segmentLength, nextStart, silence)) {
const duration = segmentDuration(lastCue, end, segmentLength, currentSegmentDuration, totalSegmentsDuration);
segments.push({ duration, cues });
totalSegmentsDuration += duration;
currentSegmentDuration = 0;
cues = [];
} else {
shouldQueue = false;
}
if (shouldQueue) {
queuedCue = cue;
}
});
return segments;
}
function shouldSegment(total, length, nextStart, silence) {
const x = alignToSegmentLength(silence, length);
const nextCueIsInNextSegment = silence <= length || x + total < nextStart;
return nextCueIsInNextSegment && nextStart - total >= length;
}
function segmentDuration(lastCue, end, length, currentSegment, totalSegments) {
let duration = length;
if (currentSegment > length) {
duration = alignToSegmentLength(currentSegment - length, length);
}
if (lastCue) {
duration = parseFloat((end - totalSegments).toFixed(2));
} else {
duration = Math.round(duration);
}
return duration;
}
function alignToSegmentLength(n, segmentLength) {
n += segmentLength - n % segmentLength;
return n;
}
var debugging = false;
function debug(m) {
if (debugging) {
console.log(m);
}
}
module2.exports = { segment };
}
});
// node_modules/node-webvtt/lib/hls.js
var require_hls = __commonJS({
"node_modules/node-webvtt/lib/hls.js"(exports, module2) {
"use strict";
var segment = require_segmenter().segment;
function hlsSegment(input, segmentLength, startOffset) {
if (typeof startOffset === "undefined") {
startOffset = "900000";
}
const segments = segment(input, segmentLength);
const result = [];
segments.forEach((seg, i) => {
const content = `WEBVTT
X-TIMESTAMP-MAP=MPEGTS:${startOffset},LOCAL:00:00:00.000
${printableCues(seg.cues)}
`;
const filename = generateSegmentFilename(i);
result.push({ filename, content });
});
return result;
}
function hlsSegmentPlaylist(input, segmentLength) {
const segmented = segment(input, segmentLength);
const printable = printableSegments(segmented);
const longestSegment = Math.round(findLongestSegment(segmented));
const template = `#EXTM3U
#EXT-X-TARGETDURATION:${longestSegment}
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
${printable}
#EXT-X-ENDLIST
`;
return template;
}
function pad(num, n) {
const padding = "0".repeat(Math.max(0, n - num.toString().length));
return `${padding}${num}`;
}
function generateSegmentFilename(index) {
return `${index}.vtt`;
}
function printableSegments(segments) {
const result = [];
segments.forEach((seg, i) => {
result.push(`#EXTINF:${seg.duration.toFixed(5)},
${generateSegmentFilename(i)}`);
});
return result.join("\n");
}
function findLongestSegment(segments) {
let max = 0;
segments.forEach((seg) => {
if (seg.duration > max) {
max = seg.duration;
}
});
return max;
}
function printableCues(cues) {
const result = [];
cues.forEach((cue) => {
result.push(printableCue(cue));
});
return result.join("\n\n");
}
function printableCue(cue) {
const printable = [];
if (cue.identifier) {
printable.push(cue.identifier);
}
const start = printableTimestamp(cue.start);
const end = printableTimestamp(cue.end);
const styles = cue.styles ? `${cue.styles}` : "";
printable.push(`${start} --> ${end} ${styles}`);
printable.push(cue.text);
return printable.join("\n");
}
function printableTimestamp(timestamp) {
const ms = (timestamp % 1).toFixed(3);
timestamp = Math.round(timestamp - ms);
const hours = Math.floor(timestamp / 3600);
const mins = Math.floor((timestamp - hours * 3600) / 60);
const secs = timestamp - hours * 3600 - mins * 60;
const hourString = `${pad(hours, 2)}:`;
return `${hourString}${pad(mins, 2)}:${pad(secs, 2)}.${pad(ms * 1e3, 3)}`;
}
module2.exports = { hlsSegment, hlsSegmentPlaylist };
}
});
// node_modules/node-webvtt/index.js
var require_node_webvtt = __commonJS({
"node_modules/node-webvtt/index.js"(exports, module2) {
"use strict";
var parse2 = require_parser().parse;
var compile = require_compiler().compile;
var segment = require_segmenter().segment;
var hls = require_hls();
module2.exports = { parse: parse2, compile, segment, hls };
}
});
// main.ts
__export(exports, {
default: () => ChatViewPlugin
});
var import_obsidian = __toModule(require("obsidian"));
var webvtt = __toModule(require_node_webvtt());
var KEYMAP = { ">": "right", "<": "left", "^": "center" };
var CONFIGS = {
"header": ["h2", "h3", "h4", "h5", "h6"],
"mw": ["50", "55", "60", "65", "70", "75", "80", "85", "90"],
"mode": ["default", "minimal"]
};
var COLORS = [
"red",
"orange",
"yellow",
"green",
"blue",
"purple",
"grey",
"brown",
"indigo",
"teal",
"pink",
"slate",
"wood"
];
var _ChatPatterns = class {
};
var ChatPatterns = _ChatPatterns;
ChatPatterns.message = /(^>|<|\^)/;
ChatPatterns.delimiter = /.../;
ChatPatterns.comment = /^#/;
ChatPatterns.colors = /\[(.*?)\]/;
ChatPatterns.format = /{(.*?)}/;
ChatPatterns.joined = RegExp([_ChatPatterns.message, _ChatPatterns.delimiter, _ChatPatterns.colors, _ChatPatterns.comment, _ChatPatterns.format].map((pattern) => pattern.source).join("|"));
ChatPatterns.voice = /<v\s+([^>]+)>([^<]+)<\/v>/;
var ChatViewPlugin = class extends import_obsidian.Plugin {
onload() {
return __async(this, null, function* () {
this.registerMarkdownCodeBlockProcessor("chat-webvtt", (source, el, _) => {
const vtt = webvtt.parse(source, { meta: true });
const messages = [];
const self = vtt.meta && "Self" in vtt.meta ? vtt.meta.Self : void 0;
const selves = self ? self.split(",").map((val) => val.trim()) : void 0;
const formatConfigs = new Map();
const maxWidth = vtt.meta && "MaxWidth" in vtt.meta ? vtt.meta.MaxWidth : void 0;
const headerConfig = vtt.meta && "Header" in vtt.meta ? vtt.meta.Header : void 0;
const modeConfig = vtt.meta && "Mode" in vtt.meta ? vtt.meta.Mode : void 0;
if (CONFIGS["mw"].contains(maxWidth))
formatConfigs.set("mw", maxWidth);
if (CONFIGS["header"].contains(headerConfig))
formatConfigs.set("header", headerConfig);
if (CONFIGS["mode"].contains(modeConfig))
formatConfigs.set("mode", modeConfig);
console.log(formatConfigs);
for (let index = 0; index < vtt.cues.length; index++) {
const cue = vtt.cues[index];
const start = (0, import_obsidian.moment)(Math.round(cue.start * 1e3)).format("HH:mm:ss.SSS");
const end = (0, import_obsidian.moment)(Math.round(cue.end * 1e3)).format("HH:mm:ss.SSS");
if (ChatPatterns.voice.test(cue.text)) {
const matches = cue.text.match(ChatPatterns.voice);
messages.push({ header: matches[1], body: matches[2], subtext: `${start} to ${end}` });
} else {
messages.push({ header: "", body: cue.text, subtext: `${start} to ${end}` });
}
}
const headers = messages.map((message) => message.header);
const uniqueHeaders = new Set(headers);
uniqueHeaders.delete("");
console.log(messages);
console.log(uniqueHeaders);
const colorConfigs = new Map();
Array.from(uniqueHeaders).forEach((h, i) => colorConfigs.set(h, COLORS[i % COLORS.length]));
console.log(colorConfigs);
messages.forEach((message, index, arr) => {
const prevHeader = index > 0 ? arr[index - 1].header : "";
const align = selves && selves.contains(message.header) ? "right" : "left";
const continued = message.header === prevHeader;
this.createChatBubble(continued ? "" : message.header, prevHeader, message.body, message.subtext, align, el, continued, colorConfigs, formatConfigs);
});
});
this.registerMarkdownCodeBlockProcessor("chat", (source, el, _) => {
const rawLines = source.split("\n").filter((line) => ChatPatterns.joined.test(line.trim()));
const lines = rawLines.map((rawLine) => rawLine.trim());
const formatConfigs = new Map();
const colorConfigs = new Map();
for (const line of lines) {
if (ChatPatterns.format.test(line)) {
const configs = line.replace("{", "").replace("}", "").split(",").map((l) => l.trim());
for (const config of configs) {
const [k, v] = config.split("=").map((c) => c.trim());
if (Object.keys(CONFIGS).contains(k) && CONFIGS[k].contains(v))
formatConfigs.set(k, v);
}
} else if (ChatPatterns.colors.test(line)) {
const configs = line.replace("[", "").replace("]", "").split(",").map((l) => l.trim());
for (const config of configs) {
const [k, v] = config.split("=").map((c) => c.trim());
if (k.length > 0 && COLORS.contains(v))
colorConfigs.set(k, v);
}
}
}
let continuedCount = 0;
for (let index = 0; index < lines.length; index++) {
const line = lines[index].trim();
if (ChatPatterns.comment.test(line)) {
el.createEl("p", { text: line.substring(1).trim(), cls: ["chat-view-comment"] });
} else if (line === "...") {
const delimiter = el.createDiv({ cls: ["delimiter"] });
for (let i = 0; i < 3; i++)
delimiter.createDiv({ cls: ["dot"] });
} else if (ChatPatterns.message.test(line)) {
const components = line.substring(1).split("|");
if (components.length > 0) {
const first = components[0];
const header = components.length > 1 ? first.trim() : "";
const message = components.length > 1 ? components[1].trim() : first.trim();
const subtext = components.length > 2 ? components[2].trim() : "";
const continued = index > 0 && line.charAt(0) === lines[index - 1].charAt(0) && header === "";
let prevHeader = "";
if (continued) {
continuedCount++;
const prevComponents = lines[index - continuedCount].trim().substring(1).split("|");
prevHeader = prevComponents[0].length > 1 ? prevComponents[0].trim() : "";
} else {
continuedCount = 0;
}
this.createChatBubble(header, prevHeader, message, subtext, KEYMAP[line.charAt(0)], el, continued, colorConfigs, formatConfigs);
}
}
}
});
});
}
createChatBubble(header, prevHeader, message, subtext, align, element, continued, colorConfigs, formatConfigs) {
const marginClass = continued ? "chat-view-small-vertical-margin" : "chat-view-default-vertical-margin";
const colorConfigClass = `chat-view-${colorConfigs.get(continued ? prevHeader : header)}`;
const widthClass = formatConfigs.has("mw") ? `chat-view-max-width-${formatConfigs.get("mw")}` : import_obsidian.Platform.isMobile ? "chat-view-mobile-width" : "chat-view-desktop-width";
const modeClass = `chat-view-bubble-mode-${formatConfigs.has("mode") ? formatConfigs.get("mode") : "default"}`;
const headerEl = formatConfigs.has("header") ? formatConfigs.get("header") : "h4";
const bubble = element.createDiv({
cls: ["chat-view-bubble", `chat-view-align-${align}`, marginClass, colorConfigClass, widthClass, modeClass]
});
if (header.length > 0)
bubble.createEl(headerEl, { text: header, cls: ["chat-view-header"] });
if (message.length > 0)
bubble.createEl("p", { text: message, cls: ["chat-view-message"] });
if (subtext.length > 0)
bubble.createEl("sub", { text: subtext, cls: ["chat-view-subtext"] });
}
};

@ -1,9 +0,0 @@
{
"id": "obsidian-chat-view",
"name": "Chat View",
"version": "1.2.0",
"minAppVersion": "0.12.0",
"description": "Chat View enables you to create elegant Chat UIs in your Obsidian markdown files. It also supports the WebVTT format.",
"author": "Aditya Majethia",
"isDesktopOnly": false
}

@ -1,200 +0,0 @@
:root {
--opacity: 0.6;
--line-height: 1.8;
--line-height-minimal: 1.6;
}
div.chat-view-bubble-mode-default>h2.chat-view-header,
div.chat-view-bubble-mode-default>h3.chat-view-header,
div.chat-view-bubble-mode-default>h4.chat-view-header,
div.chat-view-bubble-mode-default>h5.chat-view-header,
div.chat-view-bubble-mode-default>h6.chat-view-header {
margin: 0;
margin-bottom: 8px;
}
div.chat-view-bubble-mode-minimal>h2.chat-view-header,
div.chat-view-bubble-mode-minimal>h3.chat-view-header,
div.chat-view-bubble-mode-minimal>h4.chat-view-header,
div.chat-view-bubble-mode-minimal>h5.chat-view-header,
div.chat-view-bubble-mode-minimal>h6.chat-view-header {
margin: 0;
margin-bottom: 4px;
}
div.chat-view-bubble-mode-default>p.chat-view-message {
margin: 0;
margin-bottom: 2px;
line-height: var(--line-height);
}
div.chat-view-bubble-mode-minimal>p.chat-view-message {
margin: 0;
line-height: var(--line-height-minimal);
}
sub.chat-view-subtext {
opacity: var(--opacity);
}
.chat-view-comment {
width: fit-content;
max-width: 90%;
margin: 24px auto;
line-height: var(--line-height);
text-align: center;
opacity: var(--opacity);
}
div.chat-view-bubble {
width: fit-content;
min-width: 30%;
}
div.chat-view-bubble-mode-default {
padding: 12px;
background-color: rgba(0, 0, 0, 0.075);
border: 2px solid rgba(255, 255, 255, 0.15);
border-radius: 16px;
}
div.chat-view-bubble-mode-minimal {
padding: 4px 0px;
background-color: transparent;
}
.chat-view-mobile-width {
max-width: 85%;
}
.chat-view-desktop-width {
max-width: 75%;
}
.chat-view-max-width-50 {
max-width: 50%;
}
.chat-view-max-width-55 {
max-width: 55%;
}
.chat-view-max-width-60 {
max-width: 60%;
}
.chat-view-max-width-65 {
max-width: 65%;
}
.chat-view-max-width-70 {
max-width: 70%;
}
.chat-view-max-width-75 {
max-width: 75%;
}
.chat-view-max-width-80 {
max-width: 80%;
}
.chat-view-max-width-85 {
max-width: 85%;
}
.chat-view-max-width-90 {
max-width: 90%;
}
div.chat-view-default-vertical-margin {
margin-top: 18px;
}
div.chat-view-small-vertical-margin {
margin-top: 12px;
}
div.chat-view-align-left {
border-top-left-radius: 0;
margin-left: 0;
margin-right: auto;
}
div.chat-view-align-right {
border-top-right-radius: 0;
margin-left: auto;
margin-right: 0;
}
div.chat-view-align-center {
margin-left: auto;
margin-right: auto;
}
div.delimiter {
width: fit-content;
margin: 24px auto;
}
div.delimiter div.dot {
display: inline-block;
width: 6px;
height: 6px;
margin: 0px 4px;
border-radius: 60%;
background-color: currentColor;
opacity: var(--opacity);
}
div.chat-view-blue>.chat-view-header {
color: #08F;
}
div.chat-view-green>.chat-view-header {
color: #2B5;
}
div.chat-view-yellow>.chat-view-header {
color: #ED0;
}
div.chat-view-orange>.chat-view-header {
color: #F80;
}
div.chat-view-red>.chat-view-header {
color: #F33;
}
div.chat-view-purple>.chat-view-header {
color: #B2C;
}
div.chat-view-grey>.chat-view-header {
color: #999;
}
div.chat-view-brown .chat-view-header {
color: #A71;
}
div.chat-view-indigo .chat-view-header {
color: #75F;
}
div.chat-view-teal .chat-view-header {
color: #0AA;
}
div.chat-view-pink .chat-view-header {
color: #F2A;
}
div.chat-view-slate .chat-view-header {
color: #78A;
}
div.chat-view-wood .chat-view-header {
color: #EE6a44;
}

@ -1890,7 +1890,7 @@
"links": 1
},
"01.02 Home/Household.md": {
"size": 4285,
"size": 4836,
"tags": 2,
"links": 2
},
@ -5955,7 +5955,7 @@
"links": 4
},
"00.08 Bookmarks/Bookmarks - Media.md": {
"size": 1121,
"size": 1532,
"tags": 0,
"links": 4
},
@ -5965,9 +5965,9 @@
"links": 3
},
"00.08 Bookmarks/Bookmarks - Obsidian.md": {
"size": 7998,
"size": 11319,
"tags": 0,
"links": 2
"links": 3
},
"00.08 Bookmarks/Bookmarks - Selfhosted Apps.md": {
"size": 5350,
@ -6407,27 +6407,27 @@
"00.03 News/Cuban missile crisis The man who saw too much - Deseret News.md": {
"size": 24565,
"tags": 5,
"links": 1
"links": 2
},
"00.03 News/What Happened to Maya.md": {
"size": 39778,
"tags": 3,
"links": 1
"links": 2
},
"00.03 News/How a Chinese American Gangster Transformed Money Laundering for Drug Cartels.md": {
"size": 43013,
"tags": 5,
"links": 1
"links": 2
},
"00.03 News/The mysterious reappearance of Chinas missing mega-influencer.md": {
"size": 33838,
"tags": 3,
"links": 1
"links": 2
},
"00.03 News/Searching for Justice, 35 Years After Katricia Dotson Was Killed by the Police.md": {
"size": 57710,
"tags": 4,
"links": 1
"links": 2
},
"00.01 Admin/Calendars/2022-10-25.md": {
"size": 1212,
@ -6443,40 +6443,115 @@
"size": 1963,
"tags": 1,
"links": 1
},
"00.01 Admin/Calendars/2022-10-27.md": {
"size": 1212,
"tags": 0,
"links": 7
},
"00.03 News/The Globetrotting Con Man and Suspected Spy Who Met With President Trump.md": {
"size": 43227,
"tags": 5,
"links": 2
},
"03.04 Cinematheque/Hail Caesar! (2016).md": {
"size": 2011,
"tags": 1,
"links": 1
},
"00.01 Admin/Calendars/2022-10-28.md": {
"size": 1212,
"tags": 0,
"links": 4
},
"00.03 News/Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain.md": {
"size": 252813,
"tags": 3,
"links": 3
},
"00.01 Admin/Calendars/2022-10-29.md": {
"size": 1212,
"tags": 0,
"links": 6
},
"03.02 Travels/New York.md": {
"size": 1844,
"tags": 2,
"links": 2
},
"00.01 Admin/Calendars/2022-10-29 PSG - Troyes (4-3).md": {
"size": 292,
"tags": 0,
"links": 2
},
"00.01 Admin/Calendars/2022-10-30.md": {
"size": 1212,
"tags": 0,
"links": 7
},
"00.03 News/Liz Truss empty ambition put her in power — and shattered her.md": {
"size": 8224,
"tags": 3,
"links": 1
},
"00.03 News/The Story Matthew Perry Cant Believe He Lived to Tell.md": {
"size": 28252,
"tags": 3,
"links": 1
},
"00.03 News/Texas Goes Permitless on Guns, and Police Face an Armed Public.md": {
"size": 14034,
"tags": 4,
"links": 1
},
"00.03 News/What The Trump Tapes reveal about Bob Woodward.md": {
"size": 12264,
"tags": 4,
"links": 1
},
"00.03 News/Mississippi's Welfare Mess—And America's.md": {
"size": 11740,
"tags": 3,
"links": 1
},
"00.03 News/The Night Warren Zevon Left the Late Show Building.md": {
"size": 22425,
"tags": 3,
"links": 1
}
},
"commitTypes": {
"/": {
"Refactor": 1054,
"Create": 1041,
"Link": 2365,
"Expand": 976
"Refactor": 1066,
"Create": 1057,
"Link": 2401,
"Expand": 985
}
},
"dailyCommits": {
"/": {
"0": 69,
"0": 71,
"1": 29,
"2": 21,
"3": 11,
"4": 16,
"5": 9,
"6": 57,
"7": 330,
"8": 496,
"9": 498,
"10": 380,
"11": 273,
"12": 204,
"7": 337,
"8": 506,
"9": 501,
"10": 384,
"11": 275,
"12": 206,
"13": 322,
"14": 282,
"15": 253,
"16": 248,
"17": 249,
"18": 426,
"19": 297,
"15": 257,
"16": 272,
"17": 253,
"18": 435,
"19": 298,
"20": 228,
"21": 252,
"21": 253,
"22": 336,
"23": 150
}
@ -6486,15 +6561,24 @@
"Mon": 870,
"Tue": 820,
"Wed": 650,
"Thu": 479,
"Fri": 556,
"Thu": 493,
"Fri": 562,
"Sat": 0,
"Sun": 2061
"Sun": 2114
}
},
"recentCommits": {
"/": {
"Expanded": [
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-29 PSG - Troyes (4-3).md\"> 2022-10-29 PSG - Troyes (4-3) </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/New York.md\"> New York </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-29 PSG - Troyes.md\"> 2022-10-29 PSG - Troyes </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-29 PSG - Troyes.md\"> 2022-10-29 PSG - Troyes </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-29 PSG - Troyes.md\"> 2022-10-29 PSG - Troyes </a>",
"<a class=\"internal-link\" href=\"00.08 Bookmarks/Bookmarks - Obsidian.md\"> Bookmarks - Obsidian </a>",
"<a class=\"internal-link\" href=\"00.08 Bookmarks/Bookmarks - Media.md\"> Bookmarks - Media </a>",
"<a class=\"internal-link\" href=\"00.08 Bookmarks/Bookmarks - Obsidian.md\"> Bookmarks - Obsidian </a>",
"<a class=\"internal-link\" href=\"01.02 Home/Household.md\"> Household </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-23.md\"> 2022-10-23 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-23.md\"> 2022-10-23 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2023-05-20 Mariage JB & Camila.md\"> 2023-05-20 Mariage JB & Camila </a>",
@ -6536,18 +6620,25 @@
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-21 Weekend à Paris.md\"> 2022-10-21 Weekend à Paris </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-29.md\"> 2022-05-29 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-09-20.md\"> 2022-09-20 </a>",
"<a class=\"internal-link\" href=\"01.04 MRCK/@Belfast.md\"> @Belfast </a>",
"<a class=\"internal-link\" href=\"01.02 Home/Household.md\"> Household </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Test Sheet 2.md\"> Test Sheet 2 </a>",
"<a class=\"internal-link\" href=\"00.03 News/@News.md\"> @News </a>",
"<a class=\"internal-link\" href=\"05.01 Computer setup/Internet services.md\"> Internet services </a>",
"<a class=\"internal-link\" href=\"05.02 Networks/Configuring UFW.md\"> Configuring UFW </a>",
"<a class=\"internal-link\" href=\"05.01 Computer setup/Storage and Syncing.md\"> Storage and Syncing </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-05 Conference on FinTech.md\"> 2022-10-05 Conference on FinTech </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-05 Conference on FinTech.md\"> 2022-10-05 Conference on FinTech </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Geneva.md\"> Geneva </a>"
"<a class=\"internal-link\" href=\"01.04 MRCK/@Belfast.md\"> @Belfast </a>"
],
"Created": [
"<a class=\"internal-link\" href=\"00.02 Inbox/The Night Warren Zevon Left the Late Show Building.md\"> The Night Warren Zevon Left the Late Show Building </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Mississippi's Welfare Mess—And America's.md\"> Mississippi's Welfare Mess—And America's </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/What The Trump Tapes reveal about Bob Woodward.md\"> What The Trump Tapes reveal about Bob Woodward </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Texas Goes Permitless on Guns, and Police Face an Armed Public.md\"> Texas Goes Permitless on Guns, and Police Face an Armed Public </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The Story Matthew Perry Cant Believe He Lived to Tell.md\"> The Story Matthew Perry Cant Believe He Lived to Tell </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Liz Truss empty ambition put her in power — and shattered her.md\"> Liz Truss empty ambition put her in power — and shattered her </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-30.md\"> 2022-10-30 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/2022-10-30.md\"> 2022-10-30 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Untitled.md\"> Untitled </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-29 PSG - Troyes.md\"> 2022-10-29 PSG - Troyes </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-29.md\"> 2022-10-29 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain.md\"> Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-28.md\"> 2022-10-28 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Hail Caesar! (2016).md\"> Hail Caesar! (2016) </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The Globetrotting Con Man and Suspected Spy Who Met With President Trump.md\"> The Globetrotting Con Man and Suspected Spy Who Met With President Trump </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-27.md\"> 2022-10-27 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/There Will Be Blood (2007).md\"> There Will Be Blood (2007) </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-26.md\"> 2022-10-26 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-25.md\"> 2022-10-25 </a>",
@ -6582,25 +6673,20 @@
"<a class=\"internal-link\" href=\"Untitled.md\"> Untitled </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-14.md\"> 2022-10-14 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-13.md\"> 2022-10-13 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-12.md\"> 2022-10-12 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/A New Doorway to the Brain.md\"> A New Doorway to the Brain </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Black Holes May Hide a Mind-Bending Secret About Our Universe.md\"> Black Holes May Hide a Mind-Bending Secret About Our Universe </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-11 PSG - Benfica.md\"> 2022-10-11 PSG - Benfica </a>",
"<a class=\"internal-link\" href=\"Untitled.md\"> Untitled </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-11.md\"> 2022-10-11 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Empire of Pain.md\"> Empire of Pain </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Empire of Pain.md\"> Empire of Pain </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-10.md\"> 2022-10-10 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/What Does Sustainable Living Look Like Maybe Like Uruguay.md\"> What Does Sustainable Living Look Like Maybe Like Uruguay </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The Instagram capital of the world is a terrible place to be.md\"> The Instagram capital of the world is a terrible place to be </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/An American education.md\"> An American education </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The Wembanyama Effect How the buzz about Victor will influence NBA tanking and front office thinking this season.md\"> The Wembanyama Effect How the buzz about Victor will influence NBA tanking and front office thinking this season </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The Genetic Freak” Taking Over the Premier League.md\"> The Genetic Freak” Taking Over the Premier League </a>",
"<a class=\"internal-link\" href=\"Untitled.md\"> Untitled </a>",
"<a class=\"internal-link\" href=\"Untitled.md\"> Untitled </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-09.md\"> 2022-10-09 </a>"
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-12.md\"> 2022-10-12 </a>"
],
"Renamed": [
"<a class=\"internal-link\" href=\"00.03 News/The Night Warren Zevon Left the Late Show Building.md\"> The Night Warren Zevon Left the Late Show Building </a>",
"<a class=\"internal-link\" href=\"00.03 News/Mississippi's Welfare Mess—And America's.md\"> Mississippi's Welfare Mess—And America's </a>",
"<a class=\"internal-link\" href=\"00.03 News/What The Trump Tapes reveal about Bob Woodward.md\"> What The Trump Tapes reveal about Bob Woodward </a>",
"<a class=\"internal-link\" href=\"00.03 News/Texas Goes Permitless on Guns, and Police Face an Armed Public.md\"> Texas Goes Permitless on Guns, and Police Face an Armed Public </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Story Matthew Perry Cant Believe He Lived to Tell.md\"> The Story Matthew Perry Cant Believe He Lived to Tell </a>",
"<a class=\"internal-link\" href=\"00.03 News/Liz Truss empty ambition put her in power — and shattered her.md\"> Liz Truss empty ambition put her in power — and shattered her </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-29 PSG - Troyes (4-3).md\"> 2022-10-29 PSG - Troyes (4-3) </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/New York.md\"> New York </a>",
"<a class=\"internal-link\" href=\"00.03 News/Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain.md\"> Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain </a>",
"<a class=\"internal-link\" href=\"03.04 Cinematheque/Hail Caesar! (2016).md\"> Hail Caesar! (2016) </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Globetrotting Con Man and Suspected Spy Who Met With President Trump.md\"> The Globetrotting Con Man and Suspected Spy Who Met With President Trump </a>",
"<a class=\"internal-link\" href=\"03.04 Cinematheque/There Will Be Blood (2007).md\"> There Will Be Blood (2007) </a>",
"<a class=\"internal-link\" href=\"00.03 News/Searching for Justice, 35 Years After Katricia Dotson Was Killed by the Police.md\"> Searching for Justice, 35 Years After Katricia Dotson Was Killed by the Police </a>",
"<a class=\"internal-link\" href=\"00.03 News/The mysterious reappearance of Chinas missing mega-influencer.md\"> The mysterious reappearance of Chinas missing mega-influencer </a>",
@ -6640,20 +6726,20 @@
"<a class=\"internal-link\" href=\"01.05 Done/@Shopping list.md\"> @Shopping list </a>",
"<a class=\"internal-link\" href=\"00.03 News/Why is a small Swedish automaker a decade ahead of the rest of the industry.md\"> Why is a small Swedish automaker a decade ahead of the rest of the industry </a>",
"<a class=\"internal-link\" href=\"00.03 News/No Sex for You Lyta Gold.md\"> No Sex for You Lyta Gold </a>",
"<a class=\"internal-link\" href=\"00.03 News/Evrard d'Espinques Illuminations of De Proprietatibus Rerum (ca. 1480).md\"> Evrard d'Espinques Illuminations of De Proprietatibus Rerum (ca. 1480) </a>",
"<a class=\"internal-link\" href=\"03.04 Cinematheque/Sleepless in Seattle (1993).md\"> Sleepless in Seattle (1993) </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-22 Tea Time, fraterie.md\"> 2022-10-22 Tea Time, fraterie </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-05 Benfica - PSG (1-1).md\"> 2022-10-05 Benfica - PSG (1-1) </a>",
"<a class=\"internal-link\" href=\"03.04 Cinematheque/Lock Stock and Two Smoking Barrels (1998).md\"> Lock Stock and Two Smoking Barrels (1998) </a>",
"<a class=\"internal-link\" href=\"03.04 Cinematheque/Snatch (2000).md\"> Snatch (2000) </a>",
"<a class=\"internal-link\" href=\"03.04 Cinematheque/RocknRolla (2008).md\"> RocknRolla (2008) </a>",
"<a class=\"internal-link\" href=\"03.04 Cinematheque/Rocky (1976).md\"> Rocky (1976) </a>",
"<a class=\"internal-link\" href=\"00.03 News/This developer sold pre-construction townhouses for $400,000. Three years later, they told their buyers to pay another $100K or lose their homes.md\"> This developer sold pre-construction townhouses for $400,000. Three years later, they told their buyers to pay another $100K or lose their homes </a>",
"<a class=\"internal-link\" href=\"00.03 News/Solomun, the D.J. Who Keeps Ibiza Dancing.md\"> Solomun, the D.J. Who Keeps Ibiza Dancing </a>",
"<a class=\"internal-link\" href=\"00.03 News/She Captured All Before Her Darryl Pinckney.md\"> She Captured All Before Her Darryl Pinckney </a>",
"<a class=\"internal-link\" href=\"00.03 News/Liz Truss learns the hard way that Britain is not the US.md\"> Liz Truss learns the hard way that Britain is not the US </a>"
"<a class=\"internal-link\" href=\"00.03 News/Evrard d'Espinques Illuminations of De Proprietatibus Rerum (ca. 1480).md\"> Evrard d'Espinques Illuminations of De Proprietatibus Rerum (ca. 1480) </a>"
],
"Tagged": [
"<a class=\"internal-link\" href=\"00.03 News/Mississippi's Welfare Mess—And America's.md\"> Mississippi's Welfare Mess—And America's </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Night Warren Zevon Left the Late Show Building.md\"> The Night Warren Zevon Left the Late Show Building </a>",
"<a class=\"internal-link\" href=\"00.03 News/What The Trump Tapes reveal about Bob Woodward.md\"> What The Trump Tapes reveal about Bob Woodward </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Texas Goes Permitless on Guns, and Police Face an Armed Public.md\"> Texas Goes Permitless on Guns, and Police Face an Armed Public </a>",
"<a class=\"internal-link\" href=\"00.03 News/Liz Truss empty ambition put her in power — and shattered her.md\"> Liz Truss empty ambition put her in power — and shattered her </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Story Matthew Perry Cant Believe He Lived to Tell.md\"> The Story Matthew Perry Cant Believe He Lived to Tell </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Globetrotting Con Man and Suspected Spy Who Met With President Trump.md\"> The Globetrotting Con Man and Suspected Spy Who Met With President Trump </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/New York.md\"> New York </a>",
"<a class=\"internal-link\" href=\"00.03 News/Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain.md\"> Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain </a>",
"<a class=\"internal-link\" href=\"03.04 Cinematheque/Hail Caesar! (2016).md\"> Hail Caesar! (2016) </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The Globetrotting Con Man and Suspected Spy Who Met With President Trump.md\"> The Globetrotting Con Man and Suspected Spy Who Met With President Trump </a>",
"<a class=\"internal-link\" href=\"03.04 Cinematheque/There Will Be Blood (2007).md\"> There Will Be Blood (2007) </a>",
"<a class=\"internal-link\" href=\"00.03 News/Cowboys paid $2.4M over cheerleader allegations.md\"> Cowboys paid $2.4M over cheerleader allegations </a>",
"<a class=\"internal-link\" href=\"00.03 News/Searching for Justice, 35 Years After Katricia Dotson Was Killed by the Police.md\"> Searching for Justice, 35 Years After Katricia Dotson Was Killed by the Police </a>",
@ -6693,18 +6779,7 @@
"<a class=\"internal-link\" href=\"01.03 Family/Hortense de Villeneuve.md\"> Hortense de Villeneuve </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Quentin de Villeneuve.md\"> Quentin de Villeneuve </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Noémie de Villeneuve.md\"> Noémie de Villeneuve </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Aglaé de Villeneuve.md\"> Aglaé de Villeneuve </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Achille Bédier.md\"> Achille Bédier </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Auguste Bédier.md\"> Auguste Bédier </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Isaure Bédier.md\"> Isaure Bédier </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Jérôme Bédier.md\"> Jérôme Bédier </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Timothée Bédier.md\"> Timothée Bédier </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Jacqueline Bédier.md\"> Jacqueline Bédier </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Joséphine Bédier.md\"> Joséphine Bédier </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Pia Bousquié.md\"> Pia Bousquié </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Louis Bédier.md\"> Louis Bédier </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Eustache Bédier.md\"> Eustache Bédier </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Armand de Villeneuve.md\"> Armand de Villeneuve </a>"
"<a class=\"internal-link\" href=\"01.03 Family/Aglaé de Villeneuve.md\"> Aglaé de Villeneuve </a>"
],
"Refactored": [
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-18.md\"> 2022-10-18 </a>",
@ -6760,6 +6835,7 @@
"<a class=\"internal-link\" href=\"05.02 Networks/How to Install and Configure Prometheus Alert Manager on Ubuntu 20.04 LTS.md\"> How to Install and Configure Prometheus Alert Manager on Ubuntu 20.04 LTS </a>"
],
"Deleted": [
"<a class=\"internal-link\" href=\"00.02 Inbox/2022-10-30.md\"> 2022-10-30 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/How a New Anti-Woke Bank Stumbled.md\"> How a New Anti-Woke Bank Stumbled </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Test note.md\"> Test note </a>",
"<a class=\"internal-link\" href=\"Buttons 1.0 is Coming.md\"> Buttons 1.0 is Coming </a>",
@ -6809,10 +6885,34 @@
"<a class=\"internal-link\" href=\"Test.md\"> Test </a>",
"<a class=\"internal-link\" href=\"Ytes.md\"> Ytes </a>",
"<a class=\"internal-link\" href=\"Test.md\"> Test </a>",
"<a class=\"internal-link\" href=\"with a title.md\"> with a title </a>",
"<a class=\"internal-link\" href=\"Untitled.md\"> Untitled </a>"
"<a class=\"internal-link\" href=\"with a title.md\"> with a title </a>"
],
"Linked": [
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-30.md\"> 2022-10-30 </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Night Warren Zevon Left the Late Show Building.md\"> The Night Warren Zevon Left the Late Show Building </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Mississippi's Welfare Mess—And America's.md\"> Mississippi's Welfare Mess—And America's </a>",
"<a class=\"internal-link\" href=\"00.03 News/What The Trump Tapes reveal about Bob Woodward.md\"> What The Trump Tapes reveal about Bob Woodward </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Texas Goes Permitless on Guns, and Police Face an Armed Public.md\"> Texas Goes Permitless on Guns, and Police Face an Armed Public </a>",
"<a class=\"internal-link\" href=\"00.03 News/Liz Truss empty ambition put her in power — and shattered her.md\"> Liz Truss empty ambition put her in power — and shattered her </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Story Matthew Perry Cant Believe He Lived to Tell.md\"> The Story Matthew Perry Cant Believe He Lived to Tell </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Globetrotting Con Man and Suspected Spy Who Met With President Trump.md\"> The Globetrotting Con Man and Suspected Spy Who Met With President Trump </a>",
"<a class=\"internal-link\" href=\"00.03 News/Searching for Justice, 35 Years After Katricia Dotson Was Killed by the Police.md\"> Searching for Justice, 35 Years After Katricia Dotson Was Killed by the Police </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-30.md\"> 2022-10-30 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-29.md\"> 2022-10-29 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/New York.md\"> New York </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-29 PSG - Troyes.md\"> 2022-10-29 PSG - Troyes </a>",
"<a class=\"internal-link\" href=\"00.08 Bookmarks/Bookmarks - Obsidian.md\"> Bookmarks - Obsidian </a>",
"<a class=\"internal-link\" href=\"00.03 News/Cuban missile crisis The man who saw too much - Deseret News.md\"> Cuban missile crisis The man who saw too much - Deseret News </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-29.md\"> 2022-10-29 </a>",
"<a class=\"internal-link\" href=\"00.03 News/Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain.md\"> Why Does Crypto Matter Matt Levine on BTC, ETH, Blockchain </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-28.md\"> 2022-10-28 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-27.md\"> 2022-10-27 </a>",
"<a class=\"internal-link\" href=\"03.04 Cinematheque/Hail Caesar! (2016).md\"> Hail Caesar! (2016) </a>",
"<a class=\"internal-link\" href=\"00.03 News/The mysterious reappearance of Chinas missing mega-influencer.md\"> The mysterious reappearance of Chinas missing mega-influencer </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The Globetrotting Con Man and Suspected Spy Who Met With President Trump.md\"> The Globetrotting Con Man and Suspected Spy Who Met With President Trump </a>",
"<a class=\"internal-link\" href=\"00.03 News/How a Chinese American Gangster Transformed Money Laundering for Drug Cartels.md\"> How a Chinese American Gangster Transformed Money Laundering for Drug Cartels </a>",
"<a class=\"internal-link\" href=\"00.03 News/What Happened to Maya.md\"> What Happened to Maya </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-27.md\"> 2022-10-27 </a>",
"<a class=\"internal-link\" href=\"03.04 Cinematheque/There Will Be Blood (2007).md\"> There Will Be Blood (2007) </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-26.md\"> 2022-10-26 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-25.md\"> 2022-10-25 </a>",
@ -6838,32 +6938,7 @@
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-21.md\"> 2022-10-21 </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/36 Hours in Milan Things to Do and See.md\"> 36 Hours in Milan Things to Do and See </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-20.md\"> 2022-10-20 </a>",
"<a class=\"internal-link\" href=\"00.03 News/First known map of night sky found hidden in Medieval parchment.md\"> First known map of night sky found hidden in Medieval parchment </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-19.md\"> 2022-10-19 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-18.md\"> 2022-10-18 </a>",
"<a class=\"internal-link\" href=\"00.03 News/Reading Simone de Beauvoirs Ethics of Ambiguity in prison Aeon Essays.md\"> Reading Simone de Beauvoirs Ethics of Ambiguity in prison Aeon Essays </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-18.md\"> 2022-10-18 </a>",
"<a class=\"internal-link\" href=\"00.03 News/Opinion A Lost Manuscript Shows the Fire Barack Obama Couldnt Reveal on the Campaign Trail.md\"> Opinion A Lost Manuscript Shows the Fire Barack Obama Couldnt Reveal on the Campaign Trail </a>",
"<a class=\"internal-link\" href=\"00.03 News/Is There a Future for Late-Night Talk Shows.md\"> Is There a Future for Late-Night Talk Shows </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-17.md\"> 2022-10-17 </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Marguerite de Villeneuve.md\"> Marguerite de Villeneuve </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-16.md\"> 2022-10-16 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Arnold Moulin.md\"> Arnold Moulin </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-17.md\"> 2022-10-17 </a>",
"<a class=\"internal-link\" href=\"00.03 News/Liz Truss has made Britain a riskier bet for bond investors.md\"> Liz Truss has made Britain a riskier bet for bond investors </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Is There a Future for Late-Night Talk Shows.md\"> Is There a Future for Late-Night Talk Shows </a>",
"<a class=\"internal-link\" href=\"00.03 News/Opinion A Lost Manuscript Shows the Fire Barack Obama Couldnt Reveal on the Campaign Trail.md\"> Opinion A Lost Manuscript Shows the Fire Barack Obama Couldnt Reveal on the Campaign Trail </a>",
"<a class=\"internal-link\" href=\"00.03 News/Liz Truss has made Britain a riskier bet for bond investors.md\"> Liz Truss has made Britain a riskier bet for bond investors </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-16.md\"> 2022-10-16 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-16.md\"> 2022-10-16 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-15.md\"> 2022-10-15 </a>",
"<a class=\"internal-link\" href=\"00.03 News/A New Doorway to the Brain.md\"> A New Doorway to the Brain </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-15.md\"> 2022-10-15 </a>",
"<a class=\"internal-link\" href=\"00.03 News/Black Holes May Hide a Mind-Bending Secret About Our Universe.md\"> Black Holes May Hide a Mind-Bending Secret About Our Universe </a>",
"<a class=\"internal-link\" href=\"Gül.md\"> Gül </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-14.md\"> 2022-10-14 </a>",
"<a class=\"internal-link\" href=\"01.02 Home/Life - Practical infos.md\"> Life - Practical infos </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-10-13.md\"> 2022-10-13 </a>"
"<a class=\"internal-link\" href=\"00.03 News/First known map of night sky found hidden in Medieval parchment.md\"> First known map of night sky found hidden in Medieval parchment </a>"
],
"Removed Tags from": [
"<a class=\"internal-link\" href=\"00.03 News/A view from across the river.md\"> A view from across the river </a>",

@ -0,0 +1,340 @@
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
var __export = (target, all) => {
__markAsModule(target);
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __reExport = (target, module2, desc) => {
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
for (let key of __getOwnPropNames(module2))
if (!__hasOwnProp.call(target, key) && key !== "default")
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
}
return target;
};
var __toModule = (module2) => {
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
};
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
// src/main.ts
__export(exports, {
default: () => DialoguePlugin
});
var import_obsidian2 = __toModule(require("obsidian"));
// src/types/dialogueTitleMode.ts
var DialogueTitleMode;
(function(DialogueTitleMode2) {
DialogueTitleMode2["Disabled"] = "disabled";
DialogueTitleMode2["First"] = "first";
DialogueTitleMode2["All"] = "all";
})(DialogueTitleMode || (DialogueTitleMode = {}));
// src/constants/classes.ts
var CLASSES = class {
};
CLASSES.DIALOGUE_WRAPPER = "dialogue-plugin-wrapper";
CLASSES.BLOCK_WRAPPER = "dialogue-plugin-block-wrapper";
CLASSES.MESSAGE_WRAPPER_LEFT = "dialogue-plugin-message-wrapper-left";
CLASSES.MESSAGE_WRAPPER_RIGHT = "dialogue-plugin-message-wrapper-right";
CLASSES.MESSAGE = "dialogue-plugin-message";
CLASSES.MESSAGE_TITLE = "dialogue-plugin-message-title";
CLASSES.MESSAGE_CONTENT = "dialogue-plugin-message-content";
CLASSES.DELIMITER_WRAPPER = "dialogue-plugin-delimiter-wrapper";
CLASSES.DELIMITER = "dialogue-plugin-delimiter";
CLASSES.DELIMITER_DOT = "dialogue-plugin-delimiter-dot";
CLASSES.COMMENT_WRAPPER = "dialogue-plugin-comment-wrapper";
CLASSES.COMMENT = "dialogue-plugin-comment";
// src/components/message.ts
var SIDES = class {
};
SIDES.LEFT = "left";
SIDES.RIGHT = "right";
var Message = class {
constructor(content, side, dialogueSettings) {
this.content = content;
this.side = side;
this.dialogueSettings = dialogueSettings;
this.participant = this.side == SIDES.LEFT ? this.dialogueSettings.leftParticipant : this.dialogueSettings.rightParticipant;
this.renderMessage();
}
renderMessage() {
const messageEl = this.createMessageEl();
if (this.titleShouldRender()) {
messageEl.createDiv({ cls: CLASSES.MESSAGE_TITLE, text: this.participant.title });
}
messageEl.createDiv({ cls: CLASSES.MESSAGE_CONTENT, text: this.content });
}
createMessageEl() {
var _a;
const sideClass = this.side == SIDES.LEFT ? CLASSES.MESSAGE_WRAPPER_LEFT : CLASSES.MESSAGE_WRAPPER_RIGHT;
const messageWrapperEl = this.dialogueSettings.parent.createDiv({
cls: `${CLASSES.BLOCK_WRAPPER} ${sideClass}`
});
return messageWrapperEl.createDiv({
cls: CLASSES.MESSAGE,
attr: {
style: `max-width: ${this.dialogueSettings.messageMaxWidth};`,
"data-participant-name": this.participant.title,
"data-participant-id": (_a = this.participant.enforcedId) != null ? _a : this.dialogueSettings.participants.get(this.participant.title)
}
});
}
titleShouldRender() {
if (this.participant.title.length < 1)
return false;
switch (this.dialogueSettings.titleMode) {
case DialogueTitleMode.Disabled:
return false;
case DialogueTitleMode.All:
return true;
case DialogueTitleMode.First: {
if (this.participant.renderedOnce)
return false;
this.participant.renderedOnce = true;
return true;
}
default:
return false;
}
}
};
// src/components/delimiter.ts
var Delimiter = class {
constructor(dialogueSettings) {
this.dialogueSettings = dialogueSettings;
this.renderDelimiter();
}
renderDelimiter() {
const delimiterWrapperEl = this.dialogueSettings.parent.createDiv({
cls: `${CLASSES.BLOCK_WRAPPER} ${CLASSES.DELIMITER_WRAPPER}`
});
const delimiterEl = delimiterWrapperEl.createDiv({ cls: CLASSES.DELIMITER });
delimiterEl.createEl("div", { cls: CLASSES.DELIMITER_DOT });
delimiterEl.createEl("div", { cls: CLASSES.DELIMITER_DOT });
delimiterEl.createEl("div", { cls: CLASSES.DELIMITER_DOT });
}
};
// src/components/comment.ts
var Comment = class {
constructor(content, dialogueSettings) {
this.content = content;
this.dialogueSettings = dialogueSettings;
this.renderComment();
}
renderComment() {
const commentEl = this.dialogueSettings.parent.createDiv({
cls: `${CLASSES.BLOCK_WRAPPER} ${CLASSES.COMMENT_WRAPPER}`
});
return commentEl.createDiv({
cls: CLASSES.COMMENT,
text: this.content,
attr: {
style: `max-width: ${this.dialogueSettings.commentMaxWidth};`
}
});
}
};
// src/dialogue.ts
var KEYWORDS = class {
};
KEYWORDS.LEFT_PATTERN = /^l(?:eft)?(?:-(\d+))?:/i;
KEYWORDS.RIGHT_PATTERN = /^r(?:ight)?(?:-(\d+))?:/i;
KEYWORDS.TITLE_MODE = "titleMode:";
KEYWORDS.MESSAGE_MAX_WIDTH = "messageMaxWidth:";
KEYWORDS.COMMENT_MAX_WIDTH = "commentMaxWidth:";
KEYWORDS.DELIMITER = /^-|delimiter/;
KEYWORDS.COMMENT = "#";
KEYWORDS.MESSAGE_LEFT = "<";
KEYWORDS.MESSAGE_RIGHT = ">";
var DialogueRenderer = class {
constructor(src, parent, settings) {
this.src = src;
this.dialogueWrapperEl = parent.createDiv({ cls: CLASSES.DIALOGUE_WRAPPER });
this.dialogueSettings = {
parent: this.dialogueWrapperEl,
leftParticipant: {
title: settings.defaultLeftTitle,
renderedOnce: false,
enforcedId: null
},
rightParticipant: {
title: settings.defaultRightTitle,
renderedOnce: false,
enforcedId: null
},
titleMode: settings.defaultTitleMode,
messageMaxWidth: settings.defaultMessageMaxWidth,
commentMaxWidth: settings.defaultCommentMaxWidth,
participants: new Map()
};
this.renderDialogue();
}
registerParticipant(participant) {
if (!this.dialogueSettings.participants.has(participant)) {
this.dialogueSettings.participants.set(participant, this.dialogueSettings.participants.size + 1);
}
}
getEnforcedId(pattern, line) {
let enforcedId = null;
const result = pattern.exec(line);
if (result != null && result.length > 1) {
enforcedId = result[1];
}
return enforcedId;
}
renderDialogue() {
const lines = this.src.split(/\r?\n/).map((line) => line.trim()).filter((line) => line.length > 0);
for (const line of lines) {
if (KEYWORDS.LEFT_PATTERN.test(line)) {
this.dialogueSettings.leftParticipant.title = line.split(":").splice(1).join(":").trim();
this.dialogueSettings.leftParticipant.renderedOnce = false;
this.dialogueSettings.leftParticipant.enforcedId = this.getEnforcedId(KEYWORDS.LEFT_PATTERN, line);
} else if (KEYWORDS.RIGHT_PATTERN.test(line)) {
this.dialogueSettings.rightParticipant.title = line.split(":").splice(1).join(":").trim();
this.dialogueSettings.rightParticipant.renderedOnce = false;
this.dialogueSettings.rightParticipant.enforcedId = this.getEnforcedId(KEYWORDS.RIGHT_PATTERN, line);
} else if (line.startsWith(KEYWORDS.TITLE_MODE)) {
const modeName = line.substr(KEYWORDS.TITLE_MODE.length).trim().toLowerCase();
if (Object.values(DialogueTitleMode).some((mode) => mode == modeName)) {
this.dialogueSettings.titleMode = modeName;
}
} else if (line.startsWith(KEYWORDS.MESSAGE_MAX_WIDTH)) {
this.dialogueSettings.messageMaxWidth = line.substr(KEYWORDS.MESSAGE_MAX_WIDTH.length).trim();
} else if (line.startsWith(KEYWORDS.COMMENT_MAX_WIDTH)) {
this.dialogueSettings.commentMaxWidth = line.substr(KEYWORDS.COMMENT_MAX_WIDTH.length).trim();
} else if (KEYWORDS.DELIMITER.test(line)) {
new Delimiter(this.dialogueSettings);
} else if (line.startsWith(KEYWORDS.COMMENT)) {
const content = line.substr(KEYWORDS.COMMENT.length);
new Comment(content, this.dialogueSettings);
} else if (line.startsWith(KEYWORDS.MESSAGE_LEFT)) {
const content = line.substr(KEYWORDS.MESSAGE_LEFT.length);
this.registerParticipant(this.dialogueSettings.leftParticipant.title);
new Message(content, SIDES.LEFT, this.dialogueSettings);
} else if (line.startsWith(KEYWORDS.MESSAGE_RIGHT)) {
const content = line.substr(KEYWORDS.MESSAGE_RIGHT.length);
this.registerParticipant(this.dialogueSettings.rightParticipant.title);
new Message(content, SIDES.RIGHT, this.dialogueSettings);
}
}
}
};
// src/settings.ts
var import_obsidian = __toModule(require("obsidian"));
var DEFAULT_SETTINGS = {
defaultLeftTitle: "",
defaultRightTitle: "",
defaultTitleMode: DialogueTitleMode.First,
defaultMessageMaxWidth: "60%",
defaultCommentMaxWidth: "60%"
};
var DialogueSettingTab = class extends import_obsidian.PluginSettingTab {
constructor(app, plugin) {
super(app, plugin);
this.plugin = plugin;
}
display() {
const { containerEl } = this;
containerEl.empty();
containerEl.createEl("h2", { text: "Dialogue Settings" });
const coffeeEl = containerEl.createEl("div", {
attr: {
style: "text-align: center; margin-bottom: 10px;"
}
});
const coffeeLinkEl = coffeeEl.createEl("a", { href: "https://www.buymeacoffee.com/holubj" });
coffeeLinkEl.createEl("img", {
attr: {
src: "https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png",
alt: "Buy Me A Coffee",
style: "height: 60px; width: 217px;"
}
});
new import_obsidian.Setting(containerEl).setName("Default left title").setDesc("Default value for left title in all dialogues.").addText((text) => text.setPlaceholder("Enter default left title").setValue(this.plugin.settings.defaultLeftTitle).onChange((value) => __async(this, null, function* () {
this.plugin.settings.defaultLeftTitle = value;
yield this.plugin.saveSettings();
})));
new import_obsidian.Setting(containerEl).setName("Default right title").setDesc("Default value for right title in all dialogues.").addText((text) => text.setPlaceholder("Enter default right title").setValue(this.plugin.settings.defaultRightTitle).onChange((value) => __async(this, null, function* () {
this.plugin.settings.defaultRightTitle = value;
yield this.plugin.saveSettings();
})));
new import_obsidian.Setting(containerEl).setName("Default title mode").setDesc("Default title mode in all dialogues.").addDropdown((cb) => {
Object.values(DialogueTitleMode).forEach((titleMode) => {
const mode = titleMode.toString();
cb.addOption(mode, mode.charAt(0).toUpperCase() + mode.slice(1));
});
cb.setValue(this.plugin.settings.defaultTitleMode).onChange((value) => __async(this, null, function* () {
this.plugin.settings.defaultTitleMode = value;
yield this.plugin.saveSettings();
}));
});
new import_obsidian.Setting(containerEl).setName("Default max message width").setDesc("Default max message width in all dialogues.").addText((text) => text.setPlaceholder("Enter default max message width").setValue(this.plugin.settings.defaultMessageMaxWidth).onChange((value) => __async(this, null, function* () {
this.plugin.settings.defaultMessageMaxWidth = value;
yield this.plugin.saveSettings();
})));
new import_obsidian.Setting(containerEl).setName("Default max comment width").setDesc("Default max comment width in all dialogues.").addText((text) => text.setPlaceholder("Enter default max comment width").setValue(this.plugin.settings.defaultCommentMaxWidth).onChange((value) => __async(this, null, function* () {
this.plugin.settings.defaultCommentMaxWidth = value;
yield this.plugin.saveSettings();
})));
}
};
// src/main.ts
var DialoguePlugin = class extends import_obsidian2.Plugin {
onload() {
return __async(this, null, function* () {
yield this.loadSettings();
this.registerMarkdownCodeBlockProcessor(`dialogue`, (src, el, ctx) => {
new DialogueRenderer(src, el, this.settings);
});
this.addSettingTab(new DialogueSettingTab(this.app, this));
});
}
loadSettings() {
return __async(this, null, function* () {
this.settings = Object.assign({}, DEFAULT_SETTINGS, yield this.loadData());
});
}
saveSettings() {
return __async(this, null, function* () {
yield this.saveData(this.settings);
});
}
};

@ -0,0 +1,10 @@
{
"id": "obsidian-dialogue-plugin",
"name": "Dialogue",
"version": "1.0.2",
"minAppVersion": "0.12.0",
"description": "Create dialogues in Markdown.",
"author": "Jakub Holub",
"authorUrl": "https://github.com/holubj",
"isDesktopOnly": false
}

@ -0,0 +1,58 @@
.dialogue-plugin-wrapper {
margin-bottom: 20px;
}
.dialogue-plugin-block-wrapper {
display: flex;
margin: 10px 0;
}
.dialogue-plugin-message-wrapper-left {
justify-content: start;
}
.dialogue-plugin-message-wrapper-right {
justify-content: flex-end;
}
.dialogue-plugin-message {
overflow: hidden;
max-width: 60%;
background-color: var(--background-secondary);
}
.dialogue-plugin-message-title {
padding: 5px 10px;
font-weight: bold;
background-color: rgba(0, 0, 0, 0.3);
}
.dialogue-plugin-message-content {
padding: 5px 10px;
}
.dialogue-plugin-delimiter-wrapper {
justify-content: center;
}
.dialogue-plugin-delimiter {
margin: 20px 0;
}
.dialogue-plugin-delimiter-dot {
width: 10px;
height: 10px;
margin: 0 3px;
display: inline-block;
border-radius: 50%;
background-color: var(--background-secondary);
}
.dialogue-plugin-comment-wrapper {
justify-content: center;
}
.dialogue-plugin-comment {
margin: 20px 0;
text-align: center;
}

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{
"id": "obsidian-dice-roller",
"name": "Dice Roller",
"version": "8.7.0",
"version": "8.8.0",
"minAppVersion": "0.12.15",
"description": "Inline dice rolling for Obsidian.md",
"author": "Jeremy Valentine",

File diff suppressed because one or more lines are too long

@ -1,8 +1,8 @@
{
"id": "obsidian-kanban",
"name": "Kanban",
"version": "1.4.6",
"minAppVersion": "0.15.3",
"version": "1.5.1",
"minAppVersion": "1.0.0",
"description": "Create markdown-backed Kanban boards in Obsidian.",
"author": "mgmeyers",
"authorUrl": "https://github.com/mgmeyers/obsidian-kanban",

File diff suppressed because one or more lines are too long

@ -341,16 +341,6 @@
}
],
"01.02 Home/Household.md": [
{
"title": "🛎 🛍 REMINDER [[Household]]: Monthly shop in France %%done_del%%",
"time": "2022-10-29",
"rowNumber": 91
},
{
"title": ":bed: [[Household]] Change bedsheets %%done_del%%",
"time": "2022-10-29",
"rowNumber": 104
},
{
"title": ":bed: [[Household]]: Buy bed-side tables",
"time": "2022-10-31",
@ -359,7 +349,7 @@
{
"title": "🛎 🧻 REMINDER [[Household]]: check need for toilet paper %%done_del%%",
"time": "2022-10-31",
"rowNumber": 94
"rowNumber": 95
},
{
"title": "♻ [[Household]]: *Cardboard* recycling collection %%done_del%%",
@ -371,6 +361,16 @@
"time": "2022-11-08",
"rowNumber": 75
},
{
"title": ":bed: [[Household]] Change bedsheets %%done_del%%",
"time": "2022-11-12",
"rowNumber": 105
},
{
"title": "🛎 🛍 REMINDER [[Household]]: Monthly shop in France %%done_del%%",
"time": "2022-11-26",
"rowNumber": 91
},
{
"title": ":coffee: [[Household]]: Buy a Cappuccino machine",
"time": "2022-11-30",
@ -449,44 +449,44 @@
"06.02 Investments/VC Tasks.md": [
{
"title": "💰[[VC Tasks#internet alerts|monitor VC news and publications]] %%done_del%%",
"time": "2022-10-28",
"time": "2022-11-04",
"rowNumber": 74
}
],
"06.02 Investments/Crypto Tasks.md": [
{
"title": "💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%%",
"time": "2022-10-28",
"rowNumber": 74
},
{
"title": ":ballot_box: [[Crypto Tasks]]: Vote for [[EOS]] block producers %%done_del%%",
"time": "2022-11-01",
"rowNumber": 86
"rowNumber": 87
},
{
"title": "💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%%",
"time": "2022-11-04",
"rowNumber": 74
},
{
"title": ":chart: Check [[Nimbus]] earnings %%done_del%%",
"time": "2022-11-14",
"rowNumber": 90
"rowNumber": 91
}
],
"06.02 Investments/Equity Tasks.md": [
{
"title": "💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] %%done_del%%",
"time": "2022-10-28",
"time": "2022-11-04",
"rowNumber": 74
}
],
"05.02 Networks/Configuring UFW.md": [
{
"title": "🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix %%done_del%%",
"time": "2022-10-29",
"time": "2022-11-05",
"rowNumber": 239
},
{
"title": "🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list",
"time": "2022-10-29",
"rowNumber": 279
"time": "2022-11-05",
"rowNumber": 280
}
],
"00.01 Admin/Calendars/2022-01-22.md": [
@ -540,13 +540,13 @@
{
"title": ":label: [[Bookmarks - Media]]: review bookmarls",
"time": "2022-11-07",
"rowNumber": 70
"rowNumber": 80
}
],
"00.08 Bookmarks/Bookmarks - Admin & services.md": [
{
"title": ":label: [[Bookmarks - Admin & services]]: Review bookmarks",
"time": "2022-10-30",
"time": "2023-01-30",
"rowNumber": 129
}
],
@ -554,7 +554,7 @@
{
"title": ":label: [[Bookmarks - Obsidian]]: Review bookmarks",
"time": "2022-11-15",
"rowNumber": 266
"rowNumber": 308
}
],
"00.08 Bookmarks/Bookmarks - Selfhosted Apps.md": [
@ -612,7 +612,7 @@
"00.01 Admin/Calendars/2022-10-18.md": [
{
"title": "17:35 :shoe: [[@life admin]]: pick up shoes @Nick Schumacher &emsp; <mark style=\"background:cyan\">PAID</mark> &emsp;",
"time": "2022-10-28",
"time": "2022-10-31",
"rowNumber": 83
}
],

@ -1,18 +1 @@
{
"minimal-style@@red@@dark": "#D61515",
"minimal-style@@orange@@light": "#FAAA26",
"minimal-style@@orange@@dark": "#FAAA26",
"minimal-style@@red@@light": "#D61515",
"minimal-style@@yellow@@light": "#FDFF08",
"minimal-style@@yellow@@dark": "#FDFF08",
"minimal-style@@green@@light": "#16F232",
"minimal-style@@green@@dark": "#16F232",
"minimal-style@@cyan@@light": "#0BECDE",
"minimal-style@@cyan@@dark": "#0BECDE",
"minimal-style@@blue@@light": "#0F37F2",
"minimal-style@@blue@@dark": "#0F37F2",
"minimal-style@@purple@@light": "#950ACE",
"minimal-style@@purple@@dark": "#950ACE",
"minimal-style@@pink@@light": "#EE10C7",
"minimal-style@@pink@@dark": "#EE10C7"
}
{}

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{
"id": "obsidian-tasks-plugin",
"name": "Tasks",
"version": "1.15.1",
"version": "1.16.0",
"minAppVersion": "0.14.6",
"description": "Task management for Obsidian",
"author": "Martin Schenck and Clare Macrae",

@ -53,7 +53,7 @@
margin: 5px 0 5px 0;
}
.tasks-modal input[type=text] {
.tasks-modal input[type="text"] {
width: 100%;
}
@ -65,7 +65,42 @@
margin-bottom: 10px;
}
.tasks-modal label + input[type=checkbox] {
.tasks-modal label + input[type="checkbox"] {
margin-left: 0.67em;
}
.tasks-modal-priority {
line-height: 1.41;
white-space: nowrap;
}
.tasks-modal-priority input {
margin-left: 1.5em;
}
.tasks-modal-priority label {
border-radius: var(--input-radius);
padding: 2px 3px;
}
.tasks-modal-priority input:focus + label {
box-shadow: 0 0 0 2px var(--background-modifier-border-focus);
border-color: var(--background-modifier-border-focus);
}
.tasks-modal-priority label > span:nth-child(2) {
display: inline-block;
}
.tasks-modal-priority input:not(:checked) + label > span:first-child {
filter: grayscale(100%) opacity(60%);
}
.tasks-modal-priority label > span:nth-child(2)::first-letter {
text-decoration: underline;
text-underline-offset: 1pt;
}
.tasks-modal-priority input:checked + label > span:nth-child(2) {
text-shadow: 0px 0px 1px var(--text-normal);
}

File diff suppressed because one or more lines are too long

@ -1,8 +1,8 @@
{
"id": "obsidian42-brat",
"name": "Obsidian42 - BRAT",
"version": "0.6.35",
"minAppVersion": "0.15.9",
"version": "0.6.36",
"minAppVersion": "1.0.0",
"description": "Easily install a beta version of a plugin for testing.",
"author": "TfTHacker",
"authorUrl": "https://github.com/TfTHacker/obsidian42-brat",

@ -250,6 +250,16 @@
"shouldEpisodeRemoveAfterPlay": true,
"shouldRepeat": false,
"episodes": [
{
"title": "'The Run-Up': The Stacey Abrams Playbook",
"streamUrl": "https://dts.podtrac.com/redirect.mp3/chrt.fm/track/8DB4DB/pdst.fm/e/nyt.simplecastaudio.com/03d8b493-87fc-4bd1-931f-8a8e9b945d8a/episodes/c43e2889-a20a-4166-b570-2f8f8ff555e7/audio/128/default.mp3?aid=rss_feed&awCollectionId=03d8b493-87fc-4bd1-931f-8a8e9b945d8a&awEpisodeId=c43e2889-a20a-4166-b570-2f8f8ff555e7&feed=54nAGcIl",
"url": "https://www.nytimes.com/2022/10/13/podcasts/run-up-stacey-abrams-georgia.html",
"description": "<p>When Georgia flipped blue in the 2020 election, it gave Democrats new hope for the future. Credit for that success goes to Stacey Abrams and the playbook she developed for the state. It cemented her role as a national celebrity, in politics and pop culture. But, unsurprisingly, that celebrity has also made her a target of Republicans, who say shes a losing candidate. On todays episode: the Stacey Abrams playbook, and why the Georgia governors race means more to Democrats than a single elected office.</p><p>“<a href=\"https://www.nytimes.com/column/election-run-up-podcast\">The Run-Up</a>” is a new politics podcast from The New York Times. Leading up to the 2022 midterms, well be sharing the latest episode here every Saturday. If you want to hear episodes when they first drop on Thursdays, follow “The Run-Up” wherever you get your podcasts, including on <a href=\"https://podcasts.apple.com/us/podcast/the-run-up/id1142083165\" target=\"_blank\">Apple</a>, <a href=\"https://open.spotify.com/show/6mWcEpRBJ3hCMtcBQiKYVv?si=de2f346204224cad&nd=1\" target=\"_blank\">Spotify</a>, <a href=\"https://podcasts.google.com/feed/aHR0cHM6Ly9mZWVkcy5zaW1wbGVjYXN0LmNvbS9LY3RuMVJEQg?sa=X&ved=0CAIQ9sEGahgKEwjIsOW9pID6AhUAAAAAHQAAAAAQogE\" target=\"_blank\">Google</a>, <a href=\"https://www.stitcher.com/show/the-run-up\" target=\"_blank\">Stitcher</a> and <a href=\"https://music.amazon.com/podcasts/d00566e5-d738-4166-9794-9102adb15da8/the-run-up?ref=dm_sh_fwYnU6MJQiH18TSxZvauWZ9Gx\" target=\"_blank\">Amazon Music</a>.</p>\n",
"podcastName": "The Daily",
"artworkUrl": "https://is1-ssl.mzstatic.com/image/thumb/Podcasts115/v4/1c/ac/04/1cac0421-4483-ff09-4f80-19710d9feda4/mza_12421371692158516891.jpeg/100x100bb.jpg",
"episodeDate": "2022-10-15T10:00:00.000Z",
"feedUrl": "https://feeds.simplecast.com/54nAGcIl"
},
{
"title": "Florida After Hurricane Ian",
"streamUrl": "https://dts.podtrac.com/redirect.mp3/chrt.fm/track/8DB4DB/pdst.fm/e/nyt.simplecastaudio.com/03d8b493-87fc-4bd1-931f-8a8e9b945d8a/episodes/2f1eb124-5655-40cc-a59a-c5e22a568e04/audio/128/default.mp3?aid=rss_feed&awCollectionId=03d8b493-87fc-4bd1-931f-8a8e9b945d8a&awEpisodeId=2f1eb124-5655-40cc-a59a-c5e22a568e04&feed=54nAGcIl",
@ -374,14 +384,14 @@
"skipBackwardLength": 15,
"skipForwardLength": 15,
"currentEpisode": {
"title": "'The Run-Up': The Stacey Abrams Playbook",
"streamUrl": "https://dts.podtrac.com/redirect.mp3/chrt.fm/track/8DB4DB/pdst.fm/e/nyt.simplecastaudio.com/03d8b493-87fc-4bd1-931f-8a8e9b945d8a/episodes/c43e2889-a20a-4166-b570-2f8f8ff555e7/audio/128/default.mp3?aid=rss_feed&awCollectionId=03d8b493-87fc-4bd1-931f-8a8e9b945d8a&awEpisodeId=c43e2889-a20a-4166-b570-2f8f8ff555e7&feed=54nAGcIl",
"url": "https://www.nytimes.com/2022/10/13/podcasts/run-up-stacey-abrams-georgia.html",
"description": "<p>When Georgia flipped blue in the 2020 election, it gave Democrats new hope for the future. Credit for that success goes to Stacey Abrams and the playbook she developed for the state. It cemented her role as a national celebrity, in politics and pop culture. But, unsurprisingly, that celebrity has also made her a target of Republicans, who say shes a losing candidate. On todays episode: the Stacey Abrams playbook, and why the Georgia governors race means more to Democrats than a single elected office.</p><p>“<a href=\"https://www.nytimes.com/column/election-run-up-podcast\">The Run-Up</a>” is a new politics podcast from The New York Times. Leading up to the 2022 midterms, well be sharing the latest episode here every Saturday. If you want to hear episodes when they first drop on Thursdays, follow “The Run-Up” wherever you get your podcasts, including on <a href=\"https://podcasts.apple.com/us/podcast/the-run-up/id1142083165\" target=\"_blank\">Apple</a>, <a href=\"https://open.spotify.com/show/6mWcEpRBJ3hCMtcBQiKYVv?si=de2f346204224cad&nd=1\" target=\"_blank\">Spotify</a>, <a href=\"https://podcasts.google.com/feed/aHR0cHM6Ly9mZWVkcy5zaW1wbGVjYXN0LmNvbS9LY3RuMVJEQg?sa=X&ved=0CAIQ9sEGahgKEwjIsOW9pID6AhUAAAAAHQAAAAAQogE\" target=\"_blank\">Google</a>, <a href=\"https://www.stitcher.com/show/the-run-up\" target=\"_blank\">Stitcher</a> and <a href=\"https://music.amazon.com/podcasts/d00566e5-d738-4166-9794-9102adb15da8/the-run-up?ref=dm_sh_fwYnU6MJQiH18TSxZvauWZ9Gx\" target=\"_blank\">Amazon Music</a>.</p>\n",
"podcastName": "The Daily",
"artworkUrl": "https://is1-ssl.mzstatic.com/image/thumb/Podcasts115/v4/1c/ac/04/1cac0421-4483-ff09-4f80-19710d9feda4/mza_12421371692158516891.jpeg/100x100bb.jpg",
"episodeDate": "2022-10-15T10:00:00.000Z",
"feedUrl": "https://feeds.simplecast.com/54nAGcIl"
"title": "MARK TILDESLEY - Production Designer",
"streamUrl": "https://traffic.libsyn.com/secure/teamdeakins/S2-8_Mark_Tildesley-Camtec.mp3?dest-id=2018942",
"url": "https://teamdeakins.libsyn.com/season-2-episode-8-mark-tildesley-production-designer",
"description": "<p>Season 2 - Episode 8</p> <p>Team Deakins is so pleased to welcome the fabulous production designer Mark Tildesley (NO TIME TO DIE, PHANTOM THREAD, SUNSHINE) to the podcast for a delightful conversation. Mark unpacks the role of the production designer, and delves into how he works with hyper visual directors like Danny Boyle, and more contemplative, internal directors like Michael Winterbottom. He also sheds some light on how the role of the production designer differs on a small, personal movie compared to a mega blockbuster franchise like James Bond. This is a delightful conversation that drills down on the real world nuts and bolts of filmmaking. Dont miss it!</p>",
"podcastName": "Team Deakins",
"artworkUrl": "https://ssl-static.libsyn.com/p/assets/f/f/a/9/ffa908ea24d3c672/TeamDeakins_PodcastCover_Art_FA_1400x1400.jpg",
"episodeDate": "2022-10-26T11:00:00.000Z",
"feedUrl": "https://teamdeakins.libsyn.com/rss"
},
"timestamp": {
"template": "- {{linktime}} "

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{
"id": "templater-obsidian",
"name": "Templater",
"version": "1.14.3",
"version": "1.15.2",
"description": "Create and use templates",
"minAppVersion": "0.11.13",
"author": "SilentVoid",

@ -0,0 +1,7 @@
{
"name": "AnuPpuccin",
"version": "1.1.4",
"minAppVersion": "0.16.0",
"author": "Anubis",
"authorUrl": "https://github.com/AnubisNekhet"
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,6 @@
{
"name": "Atom",
"version": "0.0.0",
"minAppVersion": "0.16.0",
"author": "kognise"
}

@ -0,0 +1,472 @@
.theme-dark {
--background-primary: #272b34;
--background-primary-alt: #20242b;
--background-secondary: #20242b;
--background-secondary-alt: #1a1e24;
--background-accent: #000;
--background-modifier-border: #424958;
--background-modifier-form-field: rgba(0, 0, 0, 0.3);
--background-modifier-form-field-highlighted: rgba(0, 0, 0, 0.22);
--background-modifier-box-shadow: rgba(0, 0, 0, 0.3);
--background-modifier-success: #539126;
--background-modifier-error: #3d0000;
--background-modifier-error-rgb: 61, 0, 0;
--background-modifier-error-hover: #470000;
--background-modifier-cover: rgba(0, 0, 0, 0.6);
--text-accent: #61afef;
--text-accent-hover: #69bafd;
--text-normal: #dcddde;
--text-muted: #888;
--text-faint: rgb(81, 86, 99);
--text-error: #e16d76;
--text-error-hover: #c9626a;
--text-highlight-bg: rgba(255, 255, 0, 0.4);
--text-selection: rgba(0, 122, 255, 0.2);
--text-on-accent: #dcddde;
--interactive-normal: #20242b;
--interactive-hover: #353b47;
--interactive-accent: #4c78cc;
--interactive-accent-rgb: 76, 120, 204;
--interactive-accent-hover: #5082df;
--scrollbar-active-thumb-bg: rgba(255, 255, 255, 0.2);
--scrollbar-bg: rgba(255, 255, 255, 0.05);
--scrollbar-thumb-bg: rgba(255, 255, 255, 0.1);
--panel-border-color: #18191e;
--gray-1: #5C6370;
--gray-2: #abb2bf;
--red: #e06c75;
--orange: #d19a66;
--green: #98c379;
--aqua: #56b6c2;
--purple: #c678dd;
--blue: #61afef;
--yellow: #e5c07b;
}
.theme-light {
--background-primary: #fafafa;
--background-primary-alt: #eaeaeb;
--background-secondary: #eaeaeb;
--background-secondary-alt: #dbdbdc;
--background-accent: #fff;
--background-modifier-border: #dbdbdc;
--background-modifier-form-field: #fff;
--background-modifier-form-field-highlighted: #fff;
--background-modifier-box-shadow: rgba(0, 0, 0, 0.1);
--background-modifier-success: #A4E7C3;
--background-modifier-error: #e68787;
--background-modifier-error-rgb: 230, 135, 135;
--background-modifier-error-hover: #FF9494;
--background-modifier-cover: rgba(0, 0, 0, 0.8);
--text-accent: #1592ff;
--text-accent-hover: #2d9dff;
--text-normal: #383a42;
--text-muted: #8e8e90;
--text-faint: #999999;
--text-error: #e75545;
--text-error-hover: #f86959;
--text-highlight-bg: rgba(255, 255, 0, 0.4);
--text-selection: rgba(0, 122, 255, 0.15);
--text-on-accent: #f2f2f2;
--interactive-normal: #eaeaeb;
--interactive-hover: #dbdbdc;
--interactive-accent-rgb: 21, 146, 255;
--interactive-accent: #5871ef;
--interactive-accent-hover: #445bd1;
--scrollbar-active-thumb-bg: rgba(0, 0, 0, 0.2);
--scrollbar-bg: rgba(0, 0, 0, 0.05);
--scrollbar-thumb-bg: rgba(0, 0, 0, 0.1);
--panel-border-color: #dbdbdc;
--gray-1: #383a42;
--gray-2: #383a42;
--red: #e75545;
--green: #4ea24c;
--blue: #3d74f6;
--purple: #a625a4;
--aqua: #0084bc;
--yellow: #e35649;
--orange: #986800;
}
body {
-webkit-font-smoothing: auto;
}
.titlebar {
background-color: var(--background-secondary-alt);
}
.titlebar-inner {
color: var(--text-normal);
}
.tooltip {
background-color: var(--background-secondary-alt);
color: var(--text-muted);
}
.tooltip:not(.mod-right):not(.mod-left):not(.mod-top) .tooltip-arrow {
border-bottom-color: var(--background-secondary-alt) !important;
}
.mod-right .tooltip-arrow {
border-right-color: var(--background-secondary-alt) !important;
}
.mod-left .tooltip-arrow {
border-left-color: var(--background-secondary-alt) !important;
}
.mod-top .tooltip-arrow {
border-top-color: var(--background-secondary-alt) !important;
}
.dropdown {
cursor: pointer;
background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%234c78cc%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);
}
.dropdown:hover {
background-color: var(--background-modifier-form-field);
}
.search-result-file-title {
color: var(--blue);
}
li {
padding-top: 0.5px;
padding-bottom: 0.5px;
}
a.tag, a.tag:hover {
color: var(--yellow);
background-color: var(--background-primary-alt);
padding: 2px 4px;
border-radius: 4px;
}
.markdown-preview-view .task-list-item-checkbox {
-webkit-appearance: none;
box-sizing: border-box;
border: 1px solid var(--text-muted);
border-radius: 2px;
position: relative;
width: 1.3em;
height: 1.3em;
margin: 0;
filter: none;
outline: none;
margin-right: 4px;
margin-bottom: 2px;
cursor: pointer;
vertical-align: baseline;
}
.markdown-preview-view .task-list-item-checkbox:checked {
border: none;
background-color: var(--interactive-accent);
}
.markdown-preview-view .task-list-item-checkbox:checked::before {
content: ' ';
position: absolute;
background-color: white;
left: 2px;
top: 2px;
right: 2px;
bottom: 2px;
-webkit-mask-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 14 14\'%3E%3Cpolygon points=\'5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039\'%3E%3C/polygon%3E%3C/svg%3E');
}
.markdown-preview-view .task-list-item.is-checked a {
filter: saturate(0.8) brightness(0.7);
}
.cm-formatting-task {
font-family: var(--font-monospace);
}
.nav-file, .nav-folder {
padding: 1px 2px;
}
.nav-file-title, .nav-folder-title {
width: 100%;
cursor: default;
display: flex;
align-items: baseline;
flex-direction: row;
--text-normal: var(--text-muted);
}
body:not(.is-grabbing) .nav-file .nav-file-title:hover:not(.is-active), body:not(.is-grabbing) .nav-folder .nav-folder-title:hover:not(.is-active) {
--background-secondary-alt: transparent;
}
.nav-file .is-active {
--background-secondary-alt: var(--interactive-accent);
--text-normal: #ffffff;
}
.nav-file-title-content, .nav-folder-title-content {
text-indent: 0;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
display: block;
}
.markdown-preview-view.is-readable-line-width .markdown-preview-section, .markdown-source-view.is-readable-line-width .CodeMirror {
max-width: 900px !important;
line-height: 26px;
}
blockquote {
margin: 20px 0;
border-radius: 4px !important;
}
body {
--font-monospace: 'Fira Code', 'Source Code Pro', monospace;
}
mjx-container[jax='CHTML'] {
text-align: left;
outline: none;
}
.math-block {
font-size: 1.25em;
}
.cm-s-obsidian pre.HyperMD-codeblock, .cm-s-obsidian span.cm-inline-code, .cm-s-obsidian span.cm-math:not(.cm-formatting-math-begin):not(.cm-formatting-math-end), .markdown-preview-view code {
/* fix `` tag color */
color: #98c379;
}
.cm-s-obsidian span.cm-inline-code, .cm-s-obsidian span.cm-math, .cm-s-obsidian span.hmd-fold-math-placeholder {
/* fix tag size */
font-weight: 100;
font-style: normal;
}
.markdown-preview-view code {
vertical-align: 0;
word-break: break-word;
}
.markdown-preview-section:not(:first-child) h1, .markdown-preview-section:not(:first-child) h2, .markdown-preview-section:not(:first-child) h3, .markdown-preview-section:not(:first-child) h4, .markdown-preview-section:not(:first-child) h5, .markdown-preview-section:not(:first-child) h6 {
margin-top: 40px !important;
}
.markdown-preview-section h1, .markdown-preview-section h2, .markdown-preview-section h3, .markdown-preview-section h4, .markdown-preview-section h5, .markdown-preview-section h6 {
line-height: 1.2;
}
h1, h2, h3, h4, h5, h6, strong, b, .view-header-title {
font-weight: 600;
}
.workspace>.workspace-split>.workspace-leaf:first-of-type:last-of-type .view-header {
border: none;
}
.status-bar, .side-dock.mod-right, .side-dock.mod-left {
border-color: var(--panel-border-color);
border-width: 1px;
}
.status-bar {
--bar-vertical-padding: 4px;
--bar-height: calc(22px + (var(--bar-vertical-padding) * 2));
line-height: 20px;
padding: 0 20px;
height: var(--bar-height);
max-height: var(--bar-height);
min-height: var(--bar-height);
overflow: hidden;
}
.status-bar-item {
margin: auto 0;
}
.status-bar-item>* {
padding-top: var(--bar-vertical-padding) !important;
padding-bottom: var(--bar-vertical-padding) !important;
}
.side-dock-plugin-panel-inner {
padding-left: 6px;
}
a, .markdown-preview-view .internal-link {
text-decoration: none;
}
a:hover, .markdown-preview-view .internal-link:hover {
text-decoration: underline;
}
.theme-dark :not(pre)>code[class*='language-'], .theme-dark pre[class*='language-'] {
background: var(--background-primary-alt);
}
.theme-light :not(pre)>code[class*='language-'], .theme-light pre[class*='language-'] {
background: var(--background-primary);
box-shadow: inset 0 0 0 1px var(--background-primary-alt);
border-radius: 4px;
}
.markdown-embed:not(.hover-popover .markdown-embed), .file-embed {
margin: 0;
border-radius: 4px;
margin: 0 !important;
margin-inline-start: 30px !important;
margin-inline-end: 30px !important;
}
.markdown-embed {
border: 1px solid var(--background-modifier-border);
border-left-width: 5px;
}
.markdown-embed .markdown-preview-view {
padding: 0 20px;
}
.markdown-embed-link, .file-embed-link {
left: 8px;
right: unset;
}
.theme-light .token.operator, .theme-light .token.entity, .theme-light .token.url, .theme-light .language-css .token.string, .theme-light .style .token.string {
background: transparent;
}
/* Source: https://github.com/AGMStudio/prism-theme-one-dark */
code[class*='language-'], pre[class*='language-'] {
text-align: left !important;
white-space: pre !important;
word-spacing: normal !important;
word-break: normal !important;
word-wrap: normal !important;
line-height: 1.5 !important;
-moz-tab-size: 4 !important;
-o-tab-size: 4 !important;
tab-size: 4 !important;
-webkit-hyphens: none !important;
-moz-hyphens: none !important;
-ms-hyphens: none !important;
hyphens: none !important;
}
/* Code blocks */
pre[class*='language-'] {
padding: 1em !important;
margin: .5em 0 !important;
overflow: auto !important;
}
/* Inline code */
:not(pre)>code[class*='language-'] {
padding: .1em !important;
border-radius: .3em !important;
white-space: normal !important;
}
.token.comment, .token.prolog, .token.doctype, .token.cdata {
color: var(--gray-1) !important;
}
.token.punctuation {
color: var(--gray-2) !important;
}
.token.selector, .token.tag {
color: var(--red) !important;
}
.token.property, .token.boolean, .token.number, .token.constant, .token.symbol, .token.attr-name, .token.deleted {
color: var(--orange) !important;
}
.token.string, .token.char, .token.attr-value, .token.builtin, .token.inserted {
color: var(--green) !important;
}
.token.operator, .token.entity, .token.url, .language-css .token.string, .style .token.string {
color: var(--aqua) !important;
}
.token.atrule, .token.keyword {
color: var(--purple) !important;
}
.token.function, .token.macro.property {
color: var(--blue) !important;
}
.token.class-name {
color: var(--yellow) !important;
}
.token.regex, .token.important, .token.variable {
color: var(--purple) !important;
}
.token.important, .token.bold {
font-weight: bold !important;
}
.token.italic {
font-style: italic !important;
}
.token.entity {
cursor: help !important;
}
pre.line-numbers {
position: relative !important;
padding-left: 3.8em !important;
counter-reset: linenumber !important;
}
pre.line-numbers>code {
position: relative !important;
}
.line-numbers .line-numbers-rows {
position: absolute !important;
pointer-events: none !important;
top: 0 !important;
font-size: 100% !important;
left: -3.8em !important;
width: 3em !important;
/* works for line-numbers below 1000 lines */
letter-spacing: -1px !important;
border-right: 0 !important;
-webkit-user-select: none !important;
-moz-user-select: none !important;
-ms-user-select: none !important;
user-select: none !important;
}
.line-numbers-rows>span {
pointer-events: none !important;
display: block !important;
counter-increment: linenumber !important;
}
.line-numbers-rows>span:before {
content: counter(linenumber) !important;
color: var(--syntax-gray-1) !important;
display: block !important;
padding-right: 0.8em !important;
text-align: right !important;
}

@ -0,0 +1,7 @@
{
"name": "GitHub theme",
"version": "1.0.1",
"minAppVersion": "1.0.0",
"author": "@krios2146",
"authorUrl": "https://github.com/krios2146"
}

@ -0,0 +1,659 @@
body {
/* Animations */
--anim-duration-none: 0;
--anim-duration-superfast: 70ms;
--anim-duration-fast: 140ms;
--anim-duration-moderate: 300ms;
--anim-duration-slow: 560ms;
--anim-motion-smooth: cubic-bezier(0.45, 0.05, 0.55, 0.95);
--anim-motion-delay: cubic-bezier(0.65, 0.05, 0.36, 1);
--anim-motion-jumpy: cubic-bezier(0.68, -0.55, 0.27, 1.55);
--anim-motion-swing: cubic-bezier(0, 0.55, 0.45, 1);
/* Blockquotes */
--blockquote-border-thickness: 2px;
--blockquote-border-color: var(--interactive-accent);
--blockquote-font-style: normal;
--blockquote-color: inherit;
--blockquote-background-color: transparent;
/* Bold */
--bold-weight: var(--font-semibold);
--bold-color: inherit;
/* Borders */
--border-width: 1px;
/* Buttons */
--button-radius: var(--input-radius);
/* Callouts */
--callout-border-width: 0px;
--callout-border-opacity: 0.25;
--callout-padding: var(--size-4-3) var(--size-4-3) var(--size-4-3) var(--size-4-6);
--callout-radius: var(--radius-s);
--callout-blend-mode: var(--highlight-mix-blend-mode);
--callout-title-padding: 0;
--callout-title-size: inherit;
--callout-content-padding: 0;
/* Checkboxes */
--checkbox-radius: var(--radius-s);
--checkbox-size: 15px;
--checkbox-marker-color: var(--background-primary);
--checkbox-color: var(--interactive-accent);
--checkbox-color-hover: var(--interactive-accent-hover);
--checkbox-border-color: var(--text-faint);
--checkbox-border-color-hover: var(--text-muted);
--checklist-done-decoration: line-through;
--checklist-done-color: var(--text-muted);
/* Code */
--code-size: var(--font-smaller);
--code-background: var(--background-primary-alt);
--code-normal: var(--text-muted);
--code-comment: var(--text-faint);
--code-function: var(--color-orange);
--code-important: var(--color-orange);
--code-keyword: var(--color-red);
--code-property: var(--color-blue);
--code-punctuation: var(--text-muted);
--code-string: var(--color-cyan);
--code-tag: var(--color-red);
--code-value: var(--color-purple);
/* Collapse icons */
--collapse-icon-color: var(--text-faint);
--collapse-icon-color-collapsed: var(--text-accent);
/* Cursor */
--cursor: default;
--cursor-link: pointer;
/* Dialogs - e.g. small modals, confirmations */
--dialog-width: 560px;
--dialog-max-width: 80vw;
--dialog-max-height: 85vh;
/* Dividers — between panes */
--divider-color: var(--background-modifier-border);
--divider-color-hover: var(--interactive-accent);
--divider-width: 1px;
--divider-width-hover: 3px;
--divider-vertical-height: calc(100% - var(--header-height));
/* Dragging */
--drag-ghost-background: rgba(0, 0, 0, 0.85);
--drag-ghost-text-color: #fff;
/* Embeds */
--embed-background: inherit;
--embed-border-left: 2px solid var(--interactive-accent);
--embed-border-right: none;
--embed-border-top: none;
--embed-border-bottom: none;
--embed-padding: 0 0 0 var(--size-4-6);
--embed-font-style: inherit;
/* Blocks */
--embed-block-shadow-hover: 0 0 0 1px var(--background-modifier-border),
inset 0 0 0 1px var(--background-modifier-border);
/* File layout */
--file-line-width: 700px;
--file-folding-offset: 24px;
--file-margins: var(--size-4-8);
--file-header-font-size: var(--font-ui-small);
--file-header-font-weight: 400;
--file-header-border: var(--border-width) solid transparent;
--file-header-justify: center;
/* Relative font sizes */
--font-smallest: 0.8em;
--font-smaller: 0.875em;
--font-small: 0.933em;
/* UI font sizes */
--font-ui-smaller: 12px;
--font-ui-small: 13px;
--font-ui-medium: 15px;
--font-ui-large: 20px;
/* Font weights */
--font-thin: 100;
--font-extralight: 200;
--font-light: 300;
--font-normal: 400;
--font-medium: 500;
--font-semibold: 600;
--font-bold: 700;
--font-extrabold: 800;
--font-black: 900;
/* Footnotes */
--footnote-size: var(--font-smaller);
/* Graphs */
--graph-controls-width: 240px;
--graph-text: var(--text-normal);
--graph-line: var(--color-base-35, var(--background-modifier-border-focus));
--graph-node: var(--text-muted);
--graph-node-unresolved: var(--text-faint);
--graph-node-focused: var(--text-accent);
--graph-node-tag: var(--color-green);
--graph-node-attachment: var(--color-yellow);
/* Headings */
--heading-formatting: var(--text-faint);
--h1-color: #7ee787;
--h2-color: #7ee787;
--h3-color: #7ee787;
--h4-color: #7ee787;
--h5-color: #7ee787;
--h6-color: #7ee787;
--h1-font: inherit;
--h2-font: inherit;
--h3-font: inherit;
--h4-font: inherit;
--h5-font: inherit;
--h6-font: inherit;
--h1-line-height: 1.2;
--h2-line-height: 1.2;
--h3-line-height: 1.3;
--h4-line-height: 1.4;
--h5-line-height: var(--line-height-normal);
--h6-line-height: var(--line-height-normal);
--h1-size: 2em;
--h2-size: 1.6em;
--h3-size: 1.37em;
--h4-size: 1.25em;
--h5-size: 1.12em;
--h6-size: 1.12em;
--h1-style: normal;
--h2-style: normal;
--h3-style: normal;
--h4-style: normal;
--h5-style: normal;
--h6-style: normal;
--h1-variant: normal;
--h2-variant: normal;
--h3-variant: normal;
--h4-variant: normal;
--h5-variant: normal;
--h6-variant: normal;
--h1-weight: 700;
--h2-weight: 600;
--h3-weight: 600;
--h4-weight: 600;
--h5-weight: 600;
--h6-weight: 600;
/* View header */
--header-height: 40px;
/* Horizontal rules */
--hr-color: var(--background-modifier-border);
--hr-thickness: 2px;
/* Icons */
--icon-size: var(--icon-m);
--icon-stroke: var(--icon-m-stroke-width);
--icon-xs: 14px;
--icon-s: 16px;
--icon-m: 18px;
--icon-l: 18px;
--icon-xs-stroke-width: 2px;
--icon-s-stroke-width: 2px;
--icon-m-stroke-width: 1.75px;
--icon-l-stroke-width: 1.75px;
--icon-color: var(--text-muted);
--icon-color-hover: var(--text-muted);
--icon-color-active: var(--text-accent);
--icon-color-focused: var(--text-normal);
--icon-opacity: 0.85;
--icon-opacity-hover: 1;
--icon-opacity-active: 1;
--clickable-icon-radius: var(--radius-s);
/* Indentation guide */
--indentation-guide-width: 1px;
--indentation-guide-color: rgba(var(--mono-rgb-100), 0.12);
--indentation-guide-color-active: rgba(var(--mono-rgb-100), 0.3);
/* Inline title */
--inline-title-color: var(--h1-color);
--inline-title-font: var(--h1-font);
--inline-title-line-height: var(--h1-line-height);
--inline-title-size: var(--h1-size);
--inline-title-style: var(--h1-style);
--inline-title-variant: var(--h1-variant);
--inline-title-weight: var(--h1-weight);
/* Inputs */
--input-height: 30px;
--input-radius: 5px;
--input-font-weight: var(--font-normal);
--input-border-width: 1px;
/* Italic */
--italic-color: inherit;
/* Z-index */
--layer-cover: 5;
--layer-sidedock: 10;
--layer-status-bar: 15;
--layer-popover: 30;
--layer-slides: 45;
--layer-modal: 50;
--layer-notice: 60;
--layer-menu: 65;
--layer-tooltip: 70;
--layer-dragged-item: 80;
/* Line heights */
--line-height-normal: 1.5;
--line-height-tight: 1.3;
/* Links */
--link-color: var(--text-accent);
--link-color-hover: var(--text-accent-hover);
--link-decoration: none;
--link-decoration-hover: underline;
--link-decoration-thickness: auto;
--link-external-color: var(--text-accent);
--link-external-color-hover: var(--text-accent-hover);
--link-external-decoration: none;
--link-external-decoration-hover: underline;
--link-external-filter: none;
--link-unresolved-color: var(--text-accent);
--link-unresolved-opacity: 0.7;
--link-unresolved-filter: none;
--link-unresolved-decoration-style: solid;
--link-unresolved-decoration-color: hsla(var(--interactive-accent-hsl), 0.3);
/* Lists */
--list-indent: 2em;
--list-spacing: 0.075em;
--list-marker-color: var(--text-faint);
--list-marker-color-hover: var(--text-muted);
--list-marker-color-collapsed: var(--text-accent);
--list-bullet-border: none;
--list-bullet-radius: 50%;
--list-bullet-size: 5px;
--list-bullet-transform: none;
/* File navigator */
--nav-item-size: var(--font-ui-small);
--nav-item-color: var(--text-muted);
--nav-item-color-hover: var(--text-normal);
--nav-item-color-active: var(--text-normal);
--nav-item-color-selected: var(--text-normal);
--nav-item-color-highlighted: var(--text-accent-hover);
--nav-item-background-hover: var(--background-modifier-hover);
--nav-item-background-active: var(--background-modifier-hover);
--nav-item-background-selected: hsla(var(--color-accent-hsl), 0.2);
--nav-item-padding: var(--size-4-1) var(--size-4-2);
--nav-item-weight: inherit;
--nav-item-weight-hover: inherit;
--nav-item-weight-active: inherit;
--nav-item-white-space: nowrap;
--nav-indentation-guide-width: var(--indentation-guide-width);
--nav-indentation-guide-color: var(--indentation-guide-color);
--nav-collapse-icon-color: var(--collapse-icon-color);
--nav-collapse-icon-color-collapsed: var(--text-faint);
/* Modals - e.g. settings, community themes, community plugins */
--modal-background: var(--background-primary);
--modal-width: 90vw;
--modal-height: 85vh;
--modal-max-width: 1100px;
--modal-max-height: 1000px;
--modal-max-width-narrow: 800px;
--modal-border-width: var(--border-width);
--modal-border-color: var(--color-base-30, var(--background-modifier-border-focus));
--modal-radius: var(--radius-l);
--modal-community-sidebar-width: 280px;
/* Popovers - file previews */
--popover-width: 450px;
--popover-height: 400px;
--popover-max-height: 70vh;
--popover-pdf-width: 600px;
--popover-pdf-height: 800px;
--popover-font-size: var(--font-text-size);
/* Prompts - e.g. quick switcher, command palette */
--prompt-width: 700px;
--prompt-max-width: 80vw;
--prompt-max-height: 70vh;
--prompt-border-width: var(--border-width);
--prompt-border-color: var(--color-base-40, var(--background-modifier-border-focus));
/* Radiuses */
--radius-s: 4px;
--radius-m: 8px;
--radius-l: 10px;
--radius-xl: 16px;
/* Ribbon */
--ribbon-background: var(--background-secondary);
--ribbon-background-collapsed: var(--background-primary);
--ribbon-width: 44px;
--ribbon-padding: var(--size-4-2) var(--size-4-1) var(--size-4-3);
/* Scrollbars */
--scrollbar-active-thumb-bg: rgba(var(--mono-rgb-100), 0.2);
--scrollbar-bg: rgba(var(--mono-rgb-100), 0.05);
--scrollbar-thumb-bg: rgba(var(--mono-rgb-100), 0.1);
/* Search */
--search-clear-button-color: var(--text-muted);
--search-clear-button-size: 13px;
--search-icon-color: var(--text-muted);
--search-icon-size: 18px;
--search-result-background: var(--background-primary);
/* Layout sizing - for padding and margins */
--size-2-1: 2px;
--size-2-2: 4px;
--size-2-3: 6px;
--size-4-1: 4px;
--size-4-2: 8px;
--size-4-3: 12px;
--size-4-4: 16px;
--size-4-5: 20px;
--size-4-6: 24px;
--size-4-8: 32px;
--size-4-9: 36px;
--size-4-12: 48px;
--size-4-16: 64px;
--size-4-18: 72px;
/* Sidebar */
--sidebar-markdown-font-size: calc(var(--font-text-size) * 0.9);
--sidebar-tab-text-display: none;
/* Sliders */
--slider-thumb-border-width: 1px;
--slider-thumb-border-color: var(--background-modifier-border-hover);
--slider-thumb-height: 18px;
--slider-thumb-width: 18px;
--slider-thumb-y: -6px;
--slider-thumb-radius: 50%;
--slider-s-thumb-size: 15px;
--slider-s-thumb-position: -5px;
--slider-track-background: var(--background-modifier-border);
--slider-track-height: 3px;
/* Status bar */
--status-bar-background: var(--background-secondary);
--status-bar-border-color: var(--divider-color);
--status-bar-border-width: 1px 0 0 1px;
--status-bar-font-size: var(--font-ui-smaller);
--status-bar-text-color: var(--text-muted);
--status-bar-position: fixed;
--status-bar-radius: var(--radius-m) 0 0 0;
/* Swatch for color inputs */
--swatch-radius: 14px;
--swatch-height: 24px;
--swatch-width: 24px;
--swatch-shadow: inset 0 0 0 1px rgba(var(--mono-rgb-100), 0.15);
/* Tabs */
--tab-background-active: var(--background-primary);
--tab-text-color: var(--text-faint);
--tab-text-color-focused: var(--text-muted);
--tab-text-color-focused-active: var(--text-normal);
--tab-font-size: var(--font-ui-small);
--tab-font-weight: inherit;
--tab-container-background: var(--background-secondary);
--tab-divider-color: var(--background-modifier-border-hover);
--tab-outline-color: var(--divider-color);
--tab-outline-width: 1px;
--tab-curve: 6px;
--tab-radius: var(--radius-s);
--tab-radius-active: 6px 6px 0 0;
--tab-width: 200px;
--tab-max-width: 320px;
/* Stacked tabs */
--tab-stacked-pane-width: 700px;
--tab-stacked-header-width: var(--header-height);
--tab-stacked-font-size: var(--font-ui-small);
--tab-stacked-font-weight: 400;
--tab-stacked-text-align: left;
--tab-stacked-text-transform: rotate(0deg);
--tab-stacked-text-writing-mode: vertical-lr;
--tab-stacked-shadow: -8px 0 8px 0 rgba(0, 0, 0, 0.05);
/* Tables */
--table-background: transparent;
--table-border-width: 1px;
--table-border-color: var(--background-modifier-border);
--table-white-space: normal;
--table-header-background: var(--table-background);
--table-header-background-hover: inherit;
--table-header-border-width: var(--table-border-width);
--table-header-border-color: var(--table-border-color);
--table-header-font: inherit;
--table-header-size: var(--font-smaller);
--table-header-weight: var(--font-normal);
--table-header-color: var(--text-muted);
--table-text-size: inherit;
--table-text-color: inherit;
--table-column-max-width: none;
--table-column-alt-background: var(--table-background);
--table-column-first-border-width: var(--table-border-width);
--table-column-last-border-width: var(--table-border-width);
--table-row-background-hover: var(--table-background);
--table-row-alt-background: var(--table-background);
--table-row-last-border-width: var(--table-border-width);
/* Tags */
--tag-size: var(--font-smaller);
--tag-color: var(--text-accent);
--tag-color-hover: var(--text-accent);
--tag-decoration: none;
--tag-decoration-hover: none;
--tag-background: hsla(var(--interactive-accent-hsl), 0.1);
--tag-background-hover: hsla(var(--interactive-accent-hsl), 0.2);
--tag-border-color: hsla(var(--interactive-accent-hsl), 0.15);
--tag-border-color-hover: hsla(var(--interactive-accent-hsl), 0.15);
--tag-border-width: 0px;
--tag-padding-x: 0.65em;
--tag-padding-y: 0.25em;
--tag-radius: 2em;
/* Window frame */
--titlebar-background: var(--background-secondary);
--titlebar-background-focused: var(--background-secondary-alt);
--titlebar-border-width: 0px;
--titlebar-border-color: var(--background-modifier-border);
--titlebar-text-color: var(--text-muted);
--titlebar-text-color-focused: var(--text-normal);
--titlebar-text-color-highlighted: var(--text-accent-hover);
--titlebar-text-weight: var(--font-bold);
/* Toggles */
--toggle-border-width: 2px;
--toggle-width: 40px;
--toggle-radius: 18px;
--toggle-thumb-color: white;
--toggle-thumb-radius: 18px;
--toggle-thumb-height: 18px;
--toggle-thumb-width: 18px;
--toggle-s-border-width: 2px;
--toggle-s-width: 34px;
--toggle-s-thumb-height: 15px;
--toggle-s-thumb-width: 15px;
/* Vault name */
--vault-name-font-size: var(--font-ui-small);
--vault-name-font-weight: var(--font-medium);
--vault-name-color: var(--text-normal);
/* Workspace */
--workspace-background-translucent: rgba(var(--mono-rgb-0), 0.6);
/* Color mappings ------------------------ */
/* Accent HSL values */
--accent-h: 212;
--accent-s: 100%;
--accent-l: 67%;
/* Backgrounds */
--background-primary: var(--color-base-00);
--background-primary-alt: var(--color-base-10);
--background-secondary: var(--color-base-20);
--background-modifier-hover: rgba(var(--mono-rgb-100), 0.12);
--background-modifier-active-hover: hsla(var(--interactive-accent-hsl), 0.15);
--background-modifier-border: var(--color-base-30);
--background-modifier-border-hover: var(--color-base-30);
--background-modifier-border-focus: var(--color-accent);
--background-modifier-error-rgb: var(--color-red-rgb);
--background-modifier-error: var(--color-red);
--background-modifier-error-hover: var(--color-red);
--background-modifier-success-rgb: var(--color-green-rgb);
--background-modifier-success: var(--color-green);
--background-modifier-message: rgba(0, 0, 0, 0.9);
/* Inputs */
--background-modifier-form-field: var(--color-base-00);
/* Text */
--text-normal: var(--color-base-100);
--text-muted: var(--color-base-70);
--text-faint: var(--color-base-50);
--text-on-accent: white;
--text-error: var(--color-red);
--text-success: var(--color-green);
--text-selection: hsla(var(--color-accent-hsl), 0.2);
--text-accent: var(--color-accent);
--text-accent-hover: var(--color-accent-2);
--interactive-normal: var(--color-base-00);
--interactive-hover: var(--color-base-10);
--interactive-accent-hsl: var(--color-accent-hsl);
--interactive-accent: var(--color-accent-1);
--interactive-accent-hover: var(--color-accent-2);
}
.theme-dark {
color-scheme: dark;
--highlight-mix-blend-mode: lighten;
--mono-rgb-0: 0, 0, 0;
--mono-rgb-100: 177, 186, 196;
--color-red-rgb: 248, 81, 73;
--color-red: #F47067;
--color-green-rgb: 126, 231, 135;
--color-green: #7ee787;
--color-orange: #FFA657;
--color-yellow: #d29922;
--color-cyan: #A5D6FF;
--color-blue: #6CB6FF;
--color-purple: #D2A8FF;
--color-pink: #f778ba;
--color-base-00: #0d1117;
--color-base-10: #161b22;
--color-base-20: #161b22;
--color-base-25: #010409;
--color-base-30: #30363d;
--color-base-35: #21262d;
--color-base-40: #30363d;
--color-base-50: #6e7681;
--color-base-60: #999;
--color-base-70: #8b949e;
--color-base-100: #c9d1d9;
--color-accent-hsl: var(--accent-h), var(--accent-s), var(--accent-l);
--color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));
--color-accent-1: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) - 3.8%));
--color-accent-2: hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) + 3.8%));
--background-modifier-form-field: var(--color-base-25);
--background-secondary-alt: var(--color-base-25);
--interactive-normal: var(--color-base-35);
--interactive-hover: var(--color-base-40);
--background-modifier-box-shadow: rgba(0, 0, 0, 0.3);
--background-modifier-cover: rgba(10, 10, 10, 0.4);
--text-highlight-bg: rgba(255, 208, 0, 0.4);
--text-highlight-bg-active: rgba(255, 128, 0, 0.4);
--text-selection: hsla(var(--interactive-accent-hsl), 0.4);
--input-shadow: none;
--input-shadow-hover: none;
--shadow-s: none;
--shadow-l: none;
}
.is-mobile.theme-dark {
--color-base-00: #0d1117;
--color-base-10: #161b22;
--color-base-20: #161b22;
--tag-background: hsla(var(--interactive-accent-hsl), 0.2);
--modal-background: var(--background-secondary);
--search-result-background: var(--background-secondary);
--background-modifier-form-field: var(--background-modifier-border);
--background-modifier-cover: rgba(0, 0, 0, 0.5);
--background-modifier-hover: rgba(var(--mono-rgb-100), 0.15);
--settings-home-background: var(--background-primary);
}
/* Tables */
.markdown-rendered th {
color: var(--text-normal);
font-weight: 600;
}
.markdown-rendered td,
.markdown-rendered th {
padding: var(--size-2-3) var(--size-4-3);
}
.markdown-rendered tbody tr:nth-child(2n) {
background-color: var(--background-secondary);
}
/* Buttons */
button {
border: 1px solid #f0f6fc1a;
transition: 80ms cubic-bezier(0.33, 1, 0.68, 1);
}
.theme-dark .dropdown {
border: 1px solid #f0f6fc1a;
}
.theme-dark .dropdown:hover {
border: 1px solid var(--color-base-70);
}
button:hover {
border: 1px solid var(--color-base-70);
cursor: pointer;
}
button.mod-cta {
background-color: #238636;
color: var(--text-on-accent);
}
button.mod-cta:hover {
border-color: #f0f6fc1a;
background-color: #2ea043;
}
/* Kanban */
.kanban-plugin {
background-color: var(--background-primary);
}
.kanban-plugin__lane {
background-color: var(--background-secondary-alt);
border: 1px solid var(--color-base-35);
}
.kanban-plugin__lane-title {
flex-grow: 0;
width: fit-content;
}
.kanban-plugin__item-content-wrapper,
.kanban-plugin__item-title-wrapper {
background: var(--background-primary-alt);
}
.kanban-plugin__icon>svg {
transform: rotate(90deg);
}
.kanban-plugin__lane-settings-button-wrapper {
margin-left: auto;
}
div.kanban-plugin__lane-title-count {
background-color: var(--color-base-35);
border-radius: 1em;
padding: 2px 5px;
}
.kanban-plugin__item button.kanban-plugin__item-prefix-button,
.kanban-plugin__item button.kanban-plugin__item-postfix-button,
.kanban-plugin__lane button.kanban-plugin__lane-settings-button {
padding: 0 5px;
height: 24px;
}
.kanban-plugin__item button.kanban-plugin__item-prefix-button:hover,
.kanban-plugin__item button.kanban-plugin__item-postfix-button:hover,
.kanban-plugin__lane button.kanban-plugin__lane-settings-button:hover {
background-color: var(--color-base-30);
cursor: pointer;
}
button.kanban-plugin__new-item-button {
border: none;
justify-content: flex-start;
}
.kanban-plugin__new-item-button:hover {
color: var(--text-normal);
background-color: inherit;
}
.kanban-plugin__lane-items {
padding: 8px 15px;
}
/* fix: input borders */
textarea:active,
input[type='text']:active,
input[type='search']:active,
input[type='email']:active,
input[type='password']:active,
input[type='number']:active,
textarea:focus,
input[type='text']:focus,
input[type='search']:focus,
input[type='email']:focus,
input[type='password']:focus,
input[type='number']:focus,
textarea:focus-visible,
input[type='text']:focus-visible,
input[type='search']:focus-visible,
input[type='email']:focus-visible,
input[type='password']:focus-visible,
input[type='number']:focus-visible,
select:focus, .dropdown:focus {
box-shadow: 0 0 0 1px var(--background-modifier-border-focus);
}
/* inline code block */
.markdown-rendered :not(pre) > code {
background-color: #6e768166;
padding: 0.2em 0.4em;
border-radius: 6px;
color: var(--color-base-100);
}

@ -1,6 +1,6 @@
{
"name": "Minimal",
"version": "6.0.12",
"version": "6.1.9",
"minAppVersion": "0.16.0",
"author": "@kepano",
"authorUrl": "https://twitter.com/kepano"

File diff suppressed because one or more lines are too long

@ -0,0 +1,6 @@
{
"name": "Primary",
"version": "0.0.0",
"minAppVersion": "0.16.0",
"author": "Cecilia May"
}

File diff suppressed because one or more lines are too long

@ -1,6 +1,6 @@
{
"name": "Things",
"version": "2.0.0",
"version": "2.0.1",
"minAppVersion": "0.16.0",
"author": "@colineckert",
"authorUrl": "https://twitter.com/colineckert"

@ -1,6 +1,6 @@
/*
THINGS
Version 2.0.0
Version 2.0.1
Created by @colineckert
Readme:
@ -241,6 +241,14 @@ body {
--atom-blue: #61afef;
--atom-yellow: #e5c07b;
}
/* Make exported PDFs render correctly */
@media print {
.theme-dark {
--highlight-mix-blend-mode: darken;
--color-base-30: #ebedf0;
--h1-color: var(--color-base-00);
}
}
/* H2 styling */
h2,
@ -640,7 +648,7 @@ settings:
format: hex
default: '#3EB4BF'
-
id: code-color-l
id: code-normal
title: Inline code blocks font color (Light mode)
type: variable-color
format: hex

@ -28,7 +28,7 @@
}
},
{
"id": "da877def56210a62",
"id": "f7fdc0a8802fe560",
"type": "leaf",
"state": {
"type": "markdown",
@ -40,12 +40,12 @@
}
},
{
"id": "f7fdc0a8802fe560",
"id": "f03bab0670c8329a",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "03.04 Cinematheque/@Cinematheque.md",
"file": "01.02 Home/@Main Dashboard.md",
"mode": "preview",
"source": false
}
@ -166,7 +166,7 @@
}
},
{
"id": "654459b462fd367e",
"id": "806df709746c7fa3",
"type": "leaf",
"state": {
"type": "DICE_ROLLER_VIEW",
@ -178,15 +178,15 @@
},
"active": "39b552e8799bcf68",
"lastOpenFiles": [
"03.04 Cinematheque/TRON - Legacy (2010).md",
"03.04 Cinematheque/There Will Be Blood (2007).md",
"03.04 Cinematheque/Thunderball (1965).md",
"01.02 Home/@Main Dashboard.md",
"00.01 Admin/Calendars/2022-10-26.md",
"01.02 Home/@Shopping list.md",
"00.01 Admin/Calendars/2022-10-25.md",
"00.03 News/What Happened to Maya.md",
"00.01 Admin/Templates/Template Place.md",
"00.01 Admin/Calendars/2022-10-24.md"
"03.04 Cinematheque/@Cinematheque.md",
"00.01 Admin/Calendars/2022-10-30.md",
"00.03 News/The Night Warren Zevon Left the Late Show Building.md",
"00.03 News/Mississippi's Welfare Mess—And America's.md",
"00.03 News/What The Trump Tapes reveal about Bob Woodward.md",
"00.03 News/Texas Goes Permitless on Guns, and Police Face an Armed Public.md",
"00.03 News/The Story Matthew Perry Cant Believe He Lived to Tell.md",
"00.03 News/Liz Truss empty ambition put her in power — and shattered her.md",
"00.01 Admin/Calendars/2022-10-29.md"
]
}

@ -81,7 +81,7 @@ style: number
This section does serve for quick memos.
&emsp;
- [ ] 17:35 :shoe: [[@life admin]]: pick up shoes @Nick Schumacher &emsp; <mark style="background:cyan">PAID</mark> &emsp; 📅 2022-10-28
- [ ] 17:35 :shoe: [[@life admin]]: pick up shoes @Nick Schumacher &emsp; <mark style="background:cyan">PAID</mark> &emsp; 📅 2022-10-31
%% --- %%

@ -18,7 +18,7 @@ EarHeadBar: 30
BackHeadBar: 20
Water: 4.15
Coffee: 5
Steps:
Steps: 11123
Ski:
Riding:
Racket:

@ -0,0 +1,115 @@
---
title: "🗒 Daily Note"
allDay: true
date: 2022-10-27
Date: 2022-10-27
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: true
Sleep: 8
Happiness: 90
Gratefulness: 90
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 2.15
Coffee: 4
Steps: 11970
Ski:
Riding:
Racket:
Football:
Swim:
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-10-26|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-10-28|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-10-27Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-10-27NSave
&emsp;
# 2022-10-27
&emsp;
> [!summary]+
> Daily note for 2022-10-27
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### 📝 Memos
&emsp;
This section does serve for quick memos.
&emsp;
- 20:06 [[Game of Thrones (20112019)]] with [[@@MRCK|Meggi-mo]] [[2022-10-27|today]]
%% --- %%
&emsp;
---
&emsp;
### 🗒 Notes
&emsp;
Loret ipsum
&emsp;
---
&emsp;
### :link: Linked activity
&emsp;
```dataview
Table from [[2022-10-27]]
```
&emsp;
&emsp;

@ -0,0 +1,114 @@
---
title: "🗒 Daily Note"
allDay: true
date: 2022-10-28
Date: 2022-10-28
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: true
Sleep: 8
Happiness: 90
Gratefulness: 90
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 1.25
Coffee: 4
Steps: 15832
Ski:
Riding:
Racket:
Football:
Swim:
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-10-27|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-10-29|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-10-28Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-10-28NSave
&emsp;
# 2022-10-28
&emsp;
> [!summary]+
> Daily note for 2022-10-28
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### 📝 Memos
&emsp;
This section does serve for quick memos.
&emsp;
%% --- %%
&emsp;
---
&emsp;
### 🗒 Notes
&emsp;
Loret ipsum
&emsp;
---
&emsp;
### :link: Linked activity
&emsp;
```dataview
Table from [[2022-10-28]]
```
&emsp;
&emsp;

@ -0,0 +1,13 @@
---
title: ⚽ PSG - Troyes (4-3)
allDay: false
startTime: 17:00
endTime: 19:00
date: 2022-10-29
CollapseMetaTable: true
---
[[2022-10-29|ce jour]], [[Paris SG]] - ESTAC: 4-3
Buteurs:: ⚽ Soler<br>⚽ Messi<br>⚽ Neymar<br>⚽ MBappé<br>⚽⚽ Baldé (ESTAC)<br>⚽ Palaversa (ESTAC)

@ -0,0 +1,115 @@
---
title: "🗒 Daily Note"
allDay: true
date: 2022-10-29
Date: 2022-10-29
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: true
Sleep: 8
Happiness: 90
Gratefulness: 90
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 2.55
Coffee: 3
Steps: 13757
Ski:
Riding:
Racket:
Football:
Swim:
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-10-28|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-10-30|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-10-29Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-10-29NSave
&emsp;
# 2022-10-29
&emsp;
> [!summary]+
> Daily note for 2022-10-29
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### 📝 Memos
&emsp;
This section does serve for quick memos.
&emsp;
- 19:37 [[2022-10-29|today]], [[Crispy Salmon with Bulgur]]
%% --- %%
&emsp;
---
&emsp;
### 🗒 Notes
&emsp;
Loret ipsum
&emsp;
---
&emsp;
### :link: Linked activity
&emsp;
```dataview
Table from [[2022-10-29]]
```
&emsp;
&emsp;

@ -0,0 +1,115 @@
---
title: "🗒 Daily Note"
allDay: true
date: 2022-10-30
Date: 2022-10-30
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: true
Sleep: 8.5
Happiness: 90
Gratefulness: 90
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 2
Coffee: 1
Steps:
Ski:
Riding:
Racket:
Football:
Swim:
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-10-29|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-10-31|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-10-30Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-10-30NSave
&emsp;
# 2022-10-30
&emsp;
> [!summary]+
> Daily note for 2022-10-30
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### 📝 Memos
&emsp;
This section does serve for quick memos.
&emsp;
- 16:42 [[Game of Thrones (20112019)]] with [[@@MRCK|Meggi]] [[2022-10-30|this day]]
%% --- %%
&emsp;
---
&emsp;
### 🗒 Notes
&emsp;
Loret ipsum
&emsp;
---
&emsp;
### :link: Linked activity
&emsp;
```dataview
Table from [[2022-10-30]]
```
&emsp;
&emsp;

@ -12,7 +12,7 @@ CollapseMetaTable: true
---
Parent:: [[@News|News]]
Read:: No
Read:: [[2022-10-29]]
---

@ -12,7 +12,7 @@ CollapseMetaTable: true
---
Parent:: [[@News|News]]
Read:: No
Read:: [[2022-10-27]]
---

@ -0,0 +1,79 @@
---
Tag: ["Politics", "🇬🇧", "Truss"]
Date: 2022-10-30
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-10-30
Link: https://www.politico.eu/article/liz-truss-uk-prime-minister-ambition-tory-conservatives/
location:
CollapseMetaTable: true
---
Parent:: [[@News|News]]
Read:: No
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-LizTrussemptyambitionshatteredherNSave
&emsp;
# Liz Truss empty ambition put her in power — and shattered her
Press play to listen to this article
*Tanya Gold is a freelance journalist.*
Liz Truss resigned as prime minister on the 45th day of her tenure. As I write, the day after, the Tory Party — Britains “natural party of government” for two centuries — is polling at 14 percent. They may go lower, and they will not unite behind any candidate. Like alcoholics who cannot stop drinking because they are already insane, the party is beyond the point of renewal. 
But why is Truss, 47, a former accountant, the crucible of apocalypse? 
Many narratives meet in her. Some of it is not her fault, much of it is absolutely her fault. No child looks in the mirror and longs to be a paradigm when grown, but sometimes fate demands it. Her rise was undeserved, and so is the brutality of her fall.  
### You may like
I met Truss at university, long before she entered real politics, and she mirrors and watches, as if trying to learn a new language. That is why she is stilted and ethereal: that is why she cannot speak easily or from the heart. 
She is at her most expressive on Instagram, a medium both vapid and vivid. There is nothing to her beyond ambition, which explains the need for mirroring, and, I think, rage: the Britain she dreams of is not a kind place. 
Born in Oxford to a mathematics professor and a teacher, she was raised in Leeds in the north of England. Her parents are left-wing and do not share her politics: I sense an oedipal drama there. She went to a good state school, but with her tendency to rewrite her life for advancement, she trashed its reputation during the summer race to lead the Tory Party, though it got her to Oxford University, the nursery for Tory prime ministers. There she studied politics, philosophy and economics, which gives the young politician the appearance, rather than the actuality, of knowledge. 
She was, notoriously, a Liberal Democrat then, and she gave it her all, advocating for the abolition of the monarchy at their party conference in 1994. Whatever line Truss takes, she gives it her all, as compensation, I suspect, for uncertainty within. She smiled as she resigned. I dont think I ever met a more isolated woman. 
She became a hard right Tory — presumably to distance herself from her youthful Liberal Democracy, and because Margaret Thatcher is the obvious person to mirror in the Tory Party — worked under three prime ministers and spent eight years in the Cabinet. The niceties and collusions of a liberal democracy do not interest her. She notoriously did not defend the judiciary from a powerful tabloids “enemies of the people” headline when Britain was puzzling over how to leave the EU and she was lord chancellor, and she prefers to summon Britains fantasy of exceptionalism by insisting, for example, that we eat more British cheese. There is something intensely prosaic and unimaginative about Truss: if she were a year, she would be 1951. Nor can she unite people: when she won, she did not even shake Rishi Sunaks hand, and she largely excluded his supporters from her cabinet. 
A scandal — she had an affair with her mentor, the former Tory MP Mark Field, though both were married at the time — did not damage her reputation or, apparently, her marriage and this is interesting too: the betrayal of her most intimate relationship. (She likewise betrayed Kwasi Kwarteng, her chancellor and closest friend in politics, sacking him last Friday to try to save herself when the markets rejected her unfunded taxation, and her poll ratings collapsed.) Her husband, Hugh OLeary, stood outside Downing Street as she resigned, but as they went in, they did not touch each other. 
When Boris Johnson fell, two things put Truss in his place: the Tory Party membership, and Johnson himself. Truss was Johnsons choice — though he did not say so explicitly, leaving his most avid lieutenants to back her — and his sin-eater. She never repudiated him personally, though she tore up his 2019 manifesto and offered tax cuts and public services cuts, the opposite of his promise to “level up” opportunity across the country. Dominic Cummings — Johnsons chief strategist, who left politics after losing a power struggle with Johnsons third wife — says Truss is obsessed with optics and has no idea how to be prime minister. He also says that Johnson chose her aware she would self-destruct, and he might plausibly return. That was the first trap.
Then there is the Tory Party membership, largely affluent, male, southern and white. They were offered Sunak and Truss by the parliamentary party, who preferred Sunak. The membership disliked Sunak for destroying Johnson (his resignation was blamed by Johnson acolytes for triggering the former prime ministers downfall) and raising taxes and loved Truss because she mirrored them. She spoke to their self-absorption, and their desire for low taxes and a smaller state — being affluent, they do not think they need one. She told them mad things which thrilled them, reanimating the empire: she would ignore Scotlands first minister; she was ready to bomb Russia if she could find it. (She once told the Russian foreign minister parts of Russia were not in Russia.) A long leadership contest enabled her to impress the party membership and, equally, enabled the wider country to despise her. You can only mirror so many people at once. That was the second trap. 
## UK NATIONAL PARLIAMENT ELECTION POLL OF POLLS
*For more polling data from across Europe visit* [POLITICO](https://www.politico.eu/europe-poll-of-polls/) *[Poll of Polls](https://www.politico.eu/europe-poll-of-polls/).*
Then Queen Elizabeth II, a far more experienced and successful mirror than Truss, died. Britain was grieved and unwilling to tolerate Truss tinny authoritarianism, avoidable errors, and superficial arrogance: humility was required from Johnsons successor, especially if she were to tear up his manifesto. When she has no one to guide her, she does not know how to do the simplest things. When she entered Westminster Abbey for the queens funeral she smirked, presumably because she had precedence over other living prime ministers. That was the third trap. 
Beyond her obvious inability to do the job, Truss is largely a victim of circumstance and bad actors. I see her as a character in a gothic novel: perhaps the second Mrs. de Winter of Daphne du Mauriers “Rebecca,” a nameless girl fleeing through Manderley (the burning Tory Party), obsessed with Rebecca, the first Mrs. de Winter, who in this conceit is either Boris Johnson or Margaret Thatcher, or both: more powerful ghosts overshadow her. She has no identity and is better understood as a paradigm than an autonomous figure.
She is a paradigm of the Tory Party memberships distance from the rest of the country, which is an abyss after 12 years in power; a paradigm of the political class tendency toward optics above substance; a paradigm of common narcissism, which is thriving; a paradigm of the paranoia, taste for culture war and will to power that Brexit incited in its supporters — Truss was typically a late and fervent convert — when they realized they were wrong. 
All these threads met in Truss in a combustible fashion that has left her — and the Tory Party — in ruins. I think I see hope for our democracy because these are all endings. Truss did not fall: it is worse than that. Rather, and obediently, she shattered.
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -0,0 +1,79 @@
---
Tag: ["Society", "🇺🇸", "Welfare"]
Date: 2022-10-30
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-10-30
Link: https://www.theatlantic.com/ideas/archive/2022/10/mississippi-welfare-tanf-fraud/671922/
location:
CollapseMetaTable: true
---
Parent:: [[@News|News]]
Read:: No
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-MississippisWelfareMessNSave
&emsp;
# Mississippi's Welfare Mess—And America's
## Mississippi Shows Whats Wrong With Welfare in America
Public officials plundered a system built on contempt for poor people.
![Collage of Phil Bryant, Brett Favre, and a map of Mississippi](https://cdn.theatlantic.com/thumbor/jkRfdP1B4CUmaDGhqCgImWVa2dA=/0x0:4800x2700/960x540/media/img/mt/2022/10/mississippi_welfare_2/original.jpg)
AP; CBPP; Getty; Joanne Imperio / The Atlantic
October 29, 2022, 6 AM ET
Writing out what happened in Mississippi, I am not quite sure whether to laugh or cry. Just before the coronavirus pandemic hit, then-Governor Phil Bryant [schemed](https://mississippitoday.org/2022/09/13/phil-bryant-brett-favre-welfare/) to loot money from a government program for destitute children and redirect it to Brett Favre, the legendary Green Bay Packers quarterback, as part of a ploy to get a new volleyball facility built at the university attended by Favres daughter.
That is just one of any number of jaw-dropping stories emerging from a massive state-welfare-fraud scandal, bird-dogged by tenacious reporters, including [Anna Wolfe](https://mississippitoday.org/author/awolfe/) and [Ashton Pittman](https://www.mississippifreepress.org/author/ashton-pittman). Over the years, Mississippi officials took tens of millions of dollars from Temporary Assistance for Needy Families—the federal program frequently known simply as “welfare”—and wasted it on pointless [initiatives](https://mississippitoday.org/2021/12/23/anna-wolfe-mississippi-welfare-fraud-case/) run by their political cronies. Money meant to feed poor kids and promote their parents employment instead went to [horse ranches](https://mississippitoday.org/2020/03/18/sports-legends-madison-county-horse-ranch-being-paid-for-by-nonprofit-at-center-of-welfare-embezzlement-firestorm/), sham leadership-training schemes, fatherhood-promotion projects, motivational speeches that never happened, and those volleyball courts.
The scandal is a Robin Hood in reverse, with officials caught fleecing the poor to further enrich the wealthy, in the [poorest state in the country](https://www.usnews.com/news/best-states/slideshows/us-states-with-the-highest-poverty-rates?slide=11). It is also an argument for [ending welfare as we know it](https://www.theatlantic.com/business/archive/2016/04/the-end-of-welfare-as-we-know-it/476322/)—really, this time, and not just in Mississippi. Im not talking about telling needy families to fend for themselves. I mean that the United States should abandon its stingy, difficult means-tested programs and move to a system of generous, simple-to-access social supports—ones that would also be harder for politicians to plunder.
[Danté Stewart](https://www.theatlantic.com/ideas/archive/2022/10/brett-favre-welfare-funds-poor-mississippi-residents/671634/)[: The irony of Brett Favre](https://www.theatlantic.com/ideas/archive/2022/10/brett-favre-welfare-funds-poor-mississippi-residents/671634/)
Politicians and administrators looted the Mississippi TANF program in part because they had so much discretion over the funds to begin with. Doing so was easy. Up until the Clinton administration, welfare was a cash entitlement. To sign up, families needed to meet [relatively straightforward](https://www.census.gov/content/dam/Census/library/publications/1995/demo/afdc.pdf) standards; anyone who qualified got the cash from the government. Then—motivated in no small part by racist concerns about Black mothers abusing the program, typified by the mythic [welfare queen](http://www.slate.com/articles/news_and_politics/history/2013/12/linda_taylor_welfare_queen_ronald_reagan_made_her_a_notorious_american_villain.html)—Republicans and Democrats joined together in 1996 to get rid of the entitlement and replace it with a block grant. Uncle Sam would give each state a pool of cash to spend on programs for very poor kids and families, as they saw fit.
Some states kept a robust cash-assistance program. Others, including Mississippi, diverted the money to education, child care, and workforce development—and, in Mississippis case, to more esoteric policy priorities including marriage promotion and leadership training. Federal and state oversight was loose, and money flowed to programs that were ineffective or even outright shams. “How is it that money that is supposed to be targeted to struggling families is being siphoned off for political patronage?” Oleta Fitzgerald, the director of the southern regional office of the Childrens Defense Fund, told me in a recent interview. “Block-granting gives you the ability to misspend money, and do contracts with your friends and family, and do stupid contracts for things that you want.”
[Zach Parolin: Welfare money is paying for a lot of things besides welfare](https://www.theatlantic.com/ideas/archive/2019/06/through-welfare-states-are-widening-racial-divide/591559/)
In Mississippis case, the state [misspent millions](https://vicksburgnews.com/downright-sinful-as-mississippi-is-mired-in-welfare-scandal-advocates-say-the-state-still-isnt-aiding-the-poor/): roughly $80 million from 2016 to 2020, and perhaps much more, according to a forensic audit commissioned by the state after the scandal broke. Even now, it continues to fritter away taxpayer dollars, using $30 million a year in TANF money to fill budget holes; disbursing $35 million a year to vendors and nonprofits, many without reliable track records of helping anyone; and letting $20 million go unused. Remarkably, the program does next to nothing to end poverty, experts think. According to the Center for Budget and Policy Priorities, [only 4 percent](https://www.cbpp.org/sites/default/files/atoms/files/tanf_trends_ms.pdf) of poor Mississippians received cash benefits. “I dont know any family who has gotten TANF in the past five years,” Aisha Nyandoro, who runs the Jackson-based nonprofit Springboard to Opportunities, told me. Indeed, the state typically rejects [more than 90 percent](https://mississippitoday.org/2022/10/05/mississippi-reject-most-welfare-applicants/) of applicants, and in some years more than 98 percent.
Both Nyandoro and Fitzgerald noted the irony that the state treated the poor people who applied for TANF as if *they* were the ones defrauding the taxpayers: The program was not just stingy, but onerous and invasive for applicants. “If someone provided information on their income level that was $100 off” or “misunderstood the rules or the paperwork,” they might be threatened with sanctions or kicked out of the program, Fitzgerald [told me](https://www.thenation.com/article/archive/a-cruel-new-bill-is-about-to-become-law-in-mississippi/).
Some [state](https://www.cnn.com/2022/09/22/us/mississippi-john-davis-welfare-fraud-guilty-plea) and [nonprofit](https://mississippitoday.org/2022/04/22/nancy-new-zach-new-plead-guilty-welfare-scandal/) officials involved in the scandal have pleaded guilty to criminal charges. But what was legal and permissible for TANF in Mississippi is just as scandalous. The *whole program nationwide* should be understood as an outrage: Mississippi is offering just the most extreme outgrowth of a punitive, racist, stingy, poorly designed, and ineffective system, one that fails the children it purports to help.
For one, TANF is too small to accomplish its goal of getting kids out of poverty. The federal governments total disbursement to states is stuck at its 1996 level—with no budgetary changes to account for the growth of the population, the ravages of recessions, or even inflation. An initiative that once aided the majority of poor families now aids just a sliver of them: [437,000 adults and 1.6 million kids](https://www.acf.hhs.gov/ofa/data/ofa-releases-fy-2019-characteristics-and-financial-circumstances-tanf-recipients-data) nationwide as of 2019, a year in which 23 million adults and 11 million children were [living in poverty](https://www.childrensdefense.org/wp-content/uploads/2020/12/Child-Poverty-in-America-2019-National-Factsheet.pdf). (The American Rescue Plan, President Joe Bidens COVID-response package, included some new TANF funding, but just $1 billion of it and on a [temporary basis](https://www.cbpp.org/research/family-income-support/temporary-assistance-for-needy-families).)
After the 1996 reforms, the whole program “was regulated by tougher rules and requirements, and stronger modes of surveillance and punishment,” the University of Minnesota sociologist Joe Soss told me. “You see these programs reconstructed to focus on reforming the individual, enforcing work, promoting heterosexual marriage, and encouraging self-discipline. These developments have all been significantly more pronounced in states where Black people make up a higher percentage of the population.” Moreover, the program is too lax in terms of oversight. In many states, TANF [money has become a slush fund](https://www.pewtrusts.org/en/research-and-analysis/blogs/stateline/2020/07/24/states-raid-fund-meant-for-needy-families-to-pay-for-other-programs).
[Annie Lowrey: Is this the end of welfare as we know it?](https://www.theatlantic.com/ideas/archive/2021/08/cash-kids-end-welfare-we-know-it/619898/)
Many good proposals would reform TANF to steer more cash benefits to poor kids and help usher at-risk young parents into the workforce. Perhaps the best option? Just getting rid of it and using its $16.5 billion a year to help bring back the beefed-up child tax credit payments that Congress let expire. Those no-strings-attached transfers—which were available to every low- and middle-income American with a dependent under 18 and were disbursed in monthly increments—slashed child poverty in half, after all, and were beloved by the parents of the 61 million children who got them. “It was drastically different,” Nyandoro told me. “There was no bureaucracy. It was run by the federal government, not the state. You knew when the check was coming. And we saw immediately how the child tax credit payments gave families the economic breathing room that they needed, cutting child poverty in half in six months. Why do we keep using \[the TANF\] system when we have the proof of a system that actually does work?”
The best way to help families would be more like social insurance than a “safety net”—a concept [popularized in the 1980s](https://www.marketplace.org/2013/04/02/how-did-social-safety-net-get-its-name/), when Ronald Reagan was shrinking the New Deal and Great Society programs. “The idea of those \[older\] programs is that were socializing risk, and that everybody is at risk of getting ill and getting old and maybe we should have something there to support you that weve constructed together,” Soss told me, contrasting Social Security and unemployment insurance with “stingier and stigmatized” programs such as TANF and food stamps.
Mississippi shows the limits of a system grounded not in solidarity with recipients but in contempt for them. The U.S. should end that version of welfare and start again.
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -12,7 +12,7 @@ CollapseMetaTable: true
---
Parent:: [[@News|News]]
Read:: No
Read:: [[2022-10-30]]
---

@ -0,0 +1,151 @@
---
Tag: ["Society", "🇺🇸", "🔫", "🤠"]
Date: 2022-10-30
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-10-30
Link: https://www.nytimes.com/2022/10/26/us/texas-guns-permitless.html?unlocked_article_code=psgcmzKvTTXPLsW6-4PgeIP0YjgP3g-gX5NKlRhI9ZuDveStllhQG21U_UNI9iSZcw_6SpxCCey28sJBDcyDkkwrFH35xq53NpxN4MPeIBqGgTHml5OzpGdC9fXvaXX7rQUCykfnPk9B0XVxsUKl9Z__CJxEpyoaXXWFHpVPMjqCcn4wyp2NmT4qANoaXxWnlEAVdkmjjdOjSKzsAUpCBPbwlbaIAQJEZ_N3USFcEgNTqb26ToQ-QP9TO1hYXtAQy6Zvh7s7FwRk9XNpU_kn_KcFk8wB-6utoMeUGVwij-cNrrTM7mGOUeTwM2i_viGW6ISK2LQ5uVKceA&smid=share-url
location:
CollapseMetaTable: true
---
Parent:: [[@News|News]]
Read:: No
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-TexasGoesPermitlessonGunsNSave
&emsp;
# Texas Goes Permitless on Guns, and Police Face an Armed Public
![Big city police departments and major law enforcement groups opposed the new handgun law when it came before the State Legislature last spring, worried in part about the loss of training requirements necessary for a permit and more dangers for officers.](https://static01.nyt.com/images/2022/10/24/us/00texas-permitless-top-4/merlin_188389698_3afcdb23-71b5-42fb-98fd-470c023e154b-articleLarge.jpg?quality=75&auto=webp&disable=upscale)
Credit...Matthew Busch for The New York Times
A new law allowing people to carry handguns without a license has led to more spontaneous shootings, many in law enforcement say.
Big city police departments and major law enforcement groups opposed the new handgun law when it came before the State Legislature last spring, worried in part about the loss of training requirements necessary for a permit and more dangers for officers.Credit...Matthew Busch for The New York Times
- Published Oct. 26, 2022Updated Oct. 28, 2022
### Listen to This Article
*To hear more audio stories from publications like The New York Times,* [*download Audm for iPhone or Android*](https://www.audm.com/?utm_source=nyt&utm_medium=embed&utm_campaign=nat_texas_permitless_guns)*.*
HOUSTON — Tony Earls hung his head before a row of television cameras, staring down, his life upended. Days before, Mr. Earls had pulled out his handgun and opened fire, hoping to strike a man who had just robbed him and his wife at an A.T.M. in Houston.
Instead, he struck Arlene Alvarez, a 9-year-old girl seated in a passing pickup, killing her.
“Is Mr. Earls licensed to carry?” a reporter asked during the February news conference, in which his lawyer spoke for him.
He didnt need one, the lawyer replied. “Everything about that situation, we believe and contend, was justified under Texas law.” A grand jury later agreed, declining to indict Mr. Earls for any crime.
The shooting was part of what many sheriffs, police leaders and district attorneys in urban areas of Texas say has been an increase in people carrying weapons and in spur-of-the-moment gunfire in the year since the state began allowing most adults 21 or over to carry a handgun without a license.
At the same time, mainly in rural counties, other sheriffs said they had seen little change, and proponents of gun rights said more people lawfully carrying guns could be part of why shootings have declined in some parts of the state.
Image
Credit...the family of Arlene Alvarez, via Associated Press
Far from an outlier, Texas, with its new law, joined what has been an expanding effort to remove nearly all restrictions on carrying handguns. When Alabamas “permitless carry” law goes into effect in January, half of the states in the nation, [from Maine to Arizona](https://www.usconcealedcarry.com/resources/terminology/types-of-concealed-carry-licensurepermitting-policies/unrestricted/#:~:text=Constitutional%20carry%3A%20Constitutional%20carry%20means,no%20state%20permit%20is%20required.), will not require a license to carry a handgun.
The state-by-state legislative push has coincided with a federal judiciary that has increasingly ruled in favor of carrying guns and against state efforts to regulate them.
But Texas is the most populous state to do away with handgun permit requirements. Five of the nations 15 biggest cities are in Texas, making the permitless approach to handguns a new fact of life in urban areas to an extent not seen in other states.
In the border town of Eagle Pass, drunken arguments have flared into shootings. In El Paso, revelers who legally bring their guns to parties have opened fire to stop fights. In and around Houston, prosecutors have received a growing stream of cases involving guns brandished or fired over parking spots, bad driving, loud music and love triangles.
“It seems like now theres been a tipping point where just everybody is armed,” said Sheriff Ed Gonzalez of Harris County, which includes Houston.
No statewide shooting statistics have been released since the law went into effect last September. After a particularly violent 2021 in many parts of the state, the picture of crime in Texas has been mixed this year, with homicides and assaults up in some places and down in others.
But what has been clear is that far fewer people are getting new licenses for handguns even as many in law enforcement say the number of guns they encounter on the street has been increasing.
Big city police departments and major law enforcement groups opposed the new handgun law when it came before the State Legislature last spring, worried in part about the loss of training requirements necessary for a permit and more dangers for officers.
But gun rights proponents prevailed in the Republican-dominated Capitol, arguing that Texans should not need the states permission to exercise their Second Amendment rights.
Recent debates over gun laws in Texas have not been limited to handgun licensing. After the elementary school shooting in Uvalde, gun control advocates have pushed to raise the age to purchase an AR-15-style rifle. And after the Supreme Court struck down New Yorks restrictive licensing program, a federal court in Texas found that a state law barring adults under 21 from carrying a handgun was unconstitutional. Gov. Greg Abbott has suggested he agreed, even as the Texas Department of Public Safety, which oversees the state police, is appealing.
Image
![Family members of the victims killed in the shooting at Robb Elementary School marching from the school to the town square in Uvalde, Texas, in July.](https://static01.nyt.com/images/2022/10/24/us/00texas-permitless-3b/merlin_210234810_699f63ba-7198-42e4-8758-3653d3b9ac65-articleLarge.jpg?quality=75&auto=webp&disable=upscale)
Credit...Tamir Kalifa for The New York Times
“What I believe in is that the Second Amendment provides certain rights, and it provides those rights to adults,” Mr. Abbott said in a recent news conference. “I think that the court ruling is going to be upheld.”
The loosening of regulations also landed in the middle of a [national debate over crime](https://www.nytimes.com/2022/09/23/briefing/crime-rates-murder-robberies-us.html). Researchers have long argued over the effect of allowing more people to legally own and carry guns. But a series of recent studies has found a link between laws that make it easier to carry a handgun and increases in crime, and some have raised the possibility that more guns in circulation [lead to more thefts of weapons](https://www.nber.org/papers/w30190) and [to more shootings by the police](https://jhu.pure.elsevier.com/en/publications/officer-involved-shootings-and-concealed-carry-weapons-permitting).
“The weight of the evidence has shifted in the direction that more guns equals more crime,” said John J. Donohue III, a Stanford Law School professor and the author of several recent studies looking at gun regulations and crime.
Much of the research has been around the effects of making handgun licenses easier to obtain, part of what are known as right-to-carry laws, and Mr. Donohue cautioned that only limited data is available on laws that in most cases require no licenses at all.
“I think most people are reasoning by analogy: If you thought that right-to-carry was harmful, this will be worse,” he said.
But John R. Lott Jr., a longtime researcher whose 1998 book, “More Guns, Less Crime,” has been influential among proponents of gun rights, said the newer studies did not take into account differences between state handgun regulations that might account for increases in crime. He also pointed to some recent crime declines in Texas cities after the permitless carry law went into effect, and to what he saw as the importance of increasing lawful gun ownership in high-crime areas.
“If my research convinces me of anything,” Mr. Lott said, “its that youre going to get the biggest reduction in crime if the people who are most likely victims of violent crime, predominantly poor Blacks, are the ones who are getting the permits.”
In Dallas, there has been a rise in the number of homicides deemed to be justifiable, such as those conducted in self-defense, even as overall shootings have declined from last years high levels.
“Weve had justifiable shootings where potential victims have defended themselves,” said the Dallas police chief, Eddie Garcia. “It cuts both ways.”
Last October in Port Arthur, Texas, a man with a handgun, who had a license, saw two armed robbers at a Churchs Chicken and fired through the drive-through window, fatally striking one of the men and wounding the other. His actions were praised by the local district attorney.
Michael Mata, the president of the local police union in Dallas, said that he and his fellow officers had seen no increase in violent crime tied to the new permitless carry law, though there were “absolutely” more guns on the street.
Sheriff David Soward of Atascosa County, a rural area south of San Antonio, said he had also seen no apparent increase in shootings. “Only a small percentage of people actually take advantage of the law,” he said.
But for many law enforcement officers, the connection between the new law and spontaneous shootings has been readily apparent.
“Now that everybody can carry a weapon, we have people who drink and start shooting each other,” said Sheriff Tom Schmerber of Maverick County, which includes Eagle Pass. “People get emotional,” he said, “and instead of reaching for a fist, they reach for a weapon. Weve had several shootings like that.”
Handgun licenses are still available. The process involves a background check and a roughly five-hour training course, including on a shooting range, that covers the legal troubles that can arise when opening fire.
The number of new permits sought by Texans surged with the pandemic, but then sharply declined through 2021, as the permitless carry bill moved through the Legislature. An average of fewer than 5,000 a month were issued in 2022, lower than at any point going back to 2017.
Many Texans still seek the license [because of the benefits it affords](https://www.dps.texas.gov/section/handgun-licensing/ltc-benefits), including the ability to carry a concealed handgun into a government meeting. But it is no longer necessary.
“Somebody could go into Academy Sporting Goods here in El Paso and purchase a handgun and walk out with it after their background check,” said Ryan Urrutia, a commander at the El Paso Sheriffs office. “It really puts law enforcement at a disadvantage because it puts more guns on the street that can be used against us.”
Image
Credit...Matthew Busch for The New York Times
The law still bars carrying a handgun for those convicted of a felony, who are intoxicated or committing another crime. In Harris County, criminal cases involving illegal weapons possession have sharply increased since the new law went into effect: 3,500 so far this year, as of the middle of October, versus 2,300 in all of 2021 and an average of about 1,000 cases in prior years going back to 2012.
“Its shocking,” said Kim Ogg, the Harris County district attorney. “Weve seen more carrying weapons, which by itself would be legal. But people are carrying the weapons while committing other crimes, and Im not talking just about violent crimes. Im talking about intoxication crimes or driving crimes or property crimes, carrying weapons on school property or in another prohibited place,” including bars and school grounds.
Her office provided a sampling of arrests in the last few weeks: a 21-year-old man carrying a pistol and a second magazine while walking through the grounds of an elementary school during school hours; a man jumping from his car and opening fire at the driver of Tesla in a fit of road rage; a woman, while helping her little brother into a car, turning to shoot at another woman after an argument over a social media video.
In the case of Mr. Earls, the man accused of fatally shooting 9-year-old Arlene Alvarez while shooting at a fleeing robber, Ms. Oggs office presented evidence to a grand jury of charges ranging from negligent homicide to murder. The grand jury rejected those charges.
A lawyer for Mr. Earls declined to make him available to comment. The man who robbed Mr. Earls and his wife remains unidentified, Ms. Ogg said.
In May, a committee of the Texas House heard testimony from gun rights advocates who praised the passage of permitless carry and argued that it may be time to go further.
Rachel Malone, of Gun Owners of America, outlined some of her groups priorities for the next legislative session.
“I think it would be appropriate to move the age for permitless carry to 18,” she told the committee. “Theres really no reason why a legal adult should not be able to defend themselves.”
Audio produced by Jack DIsidoro.
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -0,0 +1,403 @@
---
Tag: ["Crime", "🇺🇸", "🇨🇳", "💸", "🕵🏼"]
Date: 2022-10-27
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-10-27
Link: https://www.propublica.org/article/liu-tao-trump-meeting-china-investigation
location:
CollapseMetaTable: true
---
Parent:: [[@News|News]]
Read:: [[2022-10-30]]
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-TheGlobetrottingConManWhoMetWithTrumpNSave
&emsp;
# The Globetrotting Con Man and Suspected Spy Who Met With President Trump
ProPublica is a nonprofit newsroom that investigates abuses of power. Sign up to receive [our biggest stories](https://www.propublica.org/newsletters/the-big-story?source=www.propublica.org&placement=top-note&region=national) as soon as theyre published.
This is part two of an investigation into a revolutionary money laundering system involving Chinese organized crime, Latin American drug cartels and Chinese officials, and how a major figure in the scheme managed to meet former President Donald Trump. Read part one: "[How a Chinese American Gangster Transformed Money Laundering for Drug Cartels](https://www.propublica.org/article/china-cartels-xizhi-li-money-laundering).”
In July 2018, President Donald Trump met at his New Jersey golf club with a Chinese businessman who should have never gotten anywhere near the most powerful man in the world.
Tao Liu had recently rented a luxurious apartment in Trump Tower in New York and boasted of joining the exclusive Trump National Golf Club in Bedminster, New Jersey.
But Liu was also a fugitive from Chinese justice. Media reports published overseas three years before the meeting had described him as the mastermind of a conspiracy that defrauded thousands of investors. He had ties to Chinese and Latin American organized crime. Perhaps most worrisome, the FBI was monitoring him because of suspicions that he was working with Chinese spies on a covert operation to buy access to U.S. political figures.
Yet there he sat with Trump at a table covered with sandwiches and soft drinks, the tall windows behind them looking onto a green landscape.
A longtime Trump associate who accompanied Liu was vague about what was discussed, telling ProPublica that they talked about the golf club, among other things.
“He was a climber,” said the associate, Joseph Cinque. “He wanted to meet Trump. He wanted to meet high rollers, people of importance.”
Documented by photos and interviews, the previously unreported sit-down reveals the workings of a Chinese underworld where crime, business, politics and espionage blur together. It also raises new questions about whether the Trump administration weakened the governments system for protecting the president against national security risks.
For years, Liu had caromed around the globe a step ahead of the law. He changed names, homes and scams the way most people change shoes. In Mexico, he befriended a Chinese American gangster named Xizhi Li, aiding Lis rise as a top cartel money launderer, according to prosecution documents and interviews with former national security officials.
“Ive been doing illegal business for over 10 years,” Liu said in a conversation recorded by the Drug Enforcement Administration in 2020. “Which country havent I done it in?”
Liu surfaced in the U.S. political scene after Trump took office. In early 2018, he launched a high-rolling quest for influence in New York. He courted political figures at gatherings fueled by Taittinger champagne and Macanudo cigars, at meals in Michelin-starred restaurants and in offices in Rockefeller Center. He may have made at least one illegal donation to the GOP, according to interviews.
By the summer, Liu had achieved his fervent goal of meeting Trump. Two months later, he met the president again at Bedminster.
On both occasions, Liu apparently found a loophole in a phalanx of defenses designed to protect the president. The Secret Service screens all presidential visitors on official business, subjecting foreigners to intense scrutiny. In addition to their top priority of detecting physical threats, agents check databases for people with ties to espionage or crime who could pose a risk to national security or a presidents reputation.
Asked about Lius encounters with the president, the Secret Services chief of communications, Anthony Guglielmi, said, “There were no protective or safety concerns associated with these dates. The Bedminster Club is a private facility, and you will have to refer to organizers when it comes to who may have been allowed access to their facilities.”
The Secret Service does not have a record of Liu meeting Trump on the presidents official schedule, a Secret Service official said. Instead, the encounters apparently occurred during periods when the president did not have official business, according to the official, who spoke on condition of anonymity. While staying at his clubs at Mar-a-Lago and Bedminster as president, Trump often left his living quarters to mingle with members and their guests in public areas. The Secret Service screened those people for weapons, but did not do background checks on them, current and former officials said.
“Did the Secret Service know every name involved?” the Secret Service official said. “No. Those are called off-the-record movements, and we are worried about physical safety in those situations. We dont have the time to do workups on everybody in that environment.”
As a member or a members guest, Liu could have entered the club without showing identification to the Secret Service and met with Trump, the official said. It appears, in short, that Liu avoided Secret Service background screening.
During both visits, Liu accompanied Cinque, with whom he had cultivated a friendship and explored business ventures. Cinque said that he and his guests had easy access to the president at Bedminster.
“I just go in every time I want,” Cinque said in an interview with ProPublica. “Im with Donald 44 years. … The Secret Service, they trust me. Because I got a great relation with the Secret Service and Im not gonna bring anybody bad next to Trump.”
But Cinque now regrets ever having met Liu.
“Hes a professional con man,” Cinque said. “There was a lot of flimflam with him. He conned me pretty good.”
Cinque has given conflicting accounts about the July 2018 meeting. In an interview with a Chinese media outlet that year, he said Liu had spent three hours with the president. Last week, though, he told ProPublica that he had exaggerated the length of the conversation and Lius role in it.
A spokesperson for Trump and officials at the Trump Organization and Bedminster club did not respond to requests for comment. The Chinese embassy also did not respond to a request for comment.
Lius case is one of several incidents in which [Chinese nationals sought access to Trump](https://www.motherjones.com/politics/2019/03/head-of-asian-gop-group-says-he-wouldnt-rule-out-illegal-foreign-donations-to-trump/) in murky circumstances, [raising concerns in Congress](https://www.democrats.senate.gov/imo/media/doc/FBI.ltr.Yang.3.15.19.pdf), law enforcement and the media about espionage and illegal campaign financing.
Liu did catch the attention of other federal agencies. His political activity in New York caused FBI counterintelligence agents to begin monitoring him in 2018, ProPublica has learned, before his encounters with Trump at Bedminster. His meetings with the president only heightened their interest, national security sources said.
Then, in early 2020, DEA agents came across Liu as they dismantled the global money laundering network of his friend Li. Reconstructing Lius trail, the DEA grew to suspect he was a kind of spy: an ostentatious criminal who made himself useful to Chinese intelligence agencies in exchange for protection.
The DEA agents thought Liu could answer big questions: What was he doing with the president? Was he conducting an operation on behalf of Chinese intelligence? And what did he know about the murky alliance between Chinese organized crime and the Chinese state?
But the DEA clashed with the FBI over strategy. And by the time DEA agents zeroed in on Liu, he had holed up in Hong Kong. The pandemic had shut down travel.
If the agents wanted to solve the walking mystery that was Tao Liu, they would have to figure out a way to go get him.
This account is based on interviews with more than two dozen current and former national security officials based in the U.S. and overseas, as well as lawyers, associates of Liu and others. ProPublica also reviewed court documents, social media, press accounts and other sources. ProPublica granted anonymity to some sources because they did not have authorization to speak to the press or because of concerns about their safety and the sensitivity of the topic.
![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27600%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E)
Credit: For ProPublica
### Prowling the World
Liu grew up in comfort and privilege.
Born in 1975 in Zhejiang province, he studied business in Shanghai and began prowling the world. He accumulated wealth and left behind a trail of dubious ventures, failed romances and children, according to court documents, associates and former national security officials. He lived in Poland and Hong Kong before moving in 2011 to Mexico City, where he dabbled in the gambling and entertainment fields.
Soon he met Li, the Chinese American money launderer, who also sold fraudulent identity documents. Liu bought fraudulent Guatemalan and Surinamese documents from Li and acquired a Mexican passport, according to prosecution documents and interviews. He played a crucial early role helping Li build his criminal empire, according to former investigators.
Both men had links to the 14K triad, a powerful Chinese criminal syndicate, according to former investigators and law enforcement documents. Moving between Mexico and Guatemala, they were on the vanguard of the Chinese takeover of the underworld that launders money for the cartels.
But in 2014, Liu embarked on a caper in China. He touted a cryptocurrency with an ex-convict, Du Ling, known as the “queen of underground banking,” according to interviews, media reports and Chinese court documents.
It was all a fraud, authorities said. Chinese courts convicted the banking queen and others on charges of swindling more than 34,000 investors from whom they raised over $200 million.
![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27180%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27180%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E)
Stills from a promotional clip posted to the video-sharing site Tencent Video show Liu at his companys lavish launch event in Hong Kong. There, Liu told investors about planned resorts in Fiji and the Americas, where guests would soon be able to spend cryptocurrency like “actual money.”
Although accused of being the mastermind, Liu eluded arrest, according to court documents, associates and other sources. He popped up in Fiji as a private company executive promising infrastructure projects inspired by President Xi Jinpings visit months earlier to promote Chinas development initiative, according to news reports and interviews. Liu even hosted a reception for the Chinese ambassador, according to news reports.
Lius activities in Fiji fit a pattern of Chinese criminals aligning themselves with Chinas foreign development efforts for mutual benefit, national security veterans say. Liu claims corrupt Chinese officials were his partners in Fiji, “but then they threw him under the bus,” said his lawyer, Jonathan Simms.
![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27244%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E)
Liu discussed development and tourism projects with Solomon Islands officials, including Prime Minister Manasseh Sogavare (second from right). Those deals fell through after an alleged victim of Lius Chinese cryptocurrency scam sent emails to local embassies and media organizations calling for Lius arrest. Credit: Solomon Islands Office of the Prime Minister and Cabinet
After allegations surfaced about his role in the cryptocurrency scandal in China, Liu fled to Australia. Airport police there downloaded his phone and found discussions about fraudulent passports from countries in Africa, Asia and Latin America, according to Simms and other sources.
In 2016, Liu returned to Mexico. He soon obtained a U.S. business/tourist visa by making false statements to U.S. authorities about whether he was involved in crime, prosecution documents say.
Now known as Antony Liu, he was ready to make a name for himself.
### Money and Politics
Yuxiang Min is an entrepreneur in Manhattans Chinatown. For years, he has nurtured a “Chinese American dream”: to prosper in the herbal medicine industry by planting 16,000 acres of licorice in a desert in Chinas Gansu province.
After meeting Min in early 2018, Liu promised to make the dream a reality, Min said.
“He made me believe he was very well-connected in China,” Min said. “And I think he was. He showed me photos of himself with top Chinese officials.”
Min said one photo appeared to show Liu with Xi, Chinas president, before he took office. Between 2002 and 2007, Xi served in senior government positions in two places where Liu had lived, Zhejiang and Shanghai. But Min said he did not have the photo, and ProPublica has not confirmed its existence.
Liu rented Chinatown offices from Min, who said he helped the wealthy newcomer buy a top-of-the-line BMW and find a translator. Despite his weak English, Liu was charismatic and persuasive, associates said. He bankrolled dinners, a concert, an outing on a yacht; he flaunted the flashy details on his social media. He founded Blue Ocean Capital, an investment firm that did little actual business, according to associates, former national security officials and court documents.
![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27541%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27541%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E)
Liu posted dozens of images of his high-rolling lifestyle to social media, including these from Manhattans Club Macanudo (first image) and a gala at Oheka Castle, a mansion-turned-hotel on Long Island. The second image is a still from a video in which an unseen man calls Liu “Chinas organized crime boss.” In response, Liu laughs.
He even gained access to the United Nations diplomatic community, sharing his office suite in Rockefeller Center with the Foundation for the Support of the United Nations. The foundations website says it is a nongovernmental organization founded in 1988 and that it is affiliated with the UN. A UN spokesperson confirmed that the foundation had “consultative status,” which gave its representatives entry to UN premises and activities.
Liu became a financial benefactor of the foundation and was named its “honorary vice chairman.” Through the foundation, he was able to organize a conference at UN headquarters with speakers including publishing executive Steve Forbes and former Mexican President Felipe Calderón, according to interviews, photos and media accounts.
![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27395%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27395%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E)
Credit: Photos of Liu with Steve Forbes (first image) and Felipe Calderón at the UN that Liu posted to Facebook
The Bulgarian mission to the UN helped secure the venue for the event, and ambassadors from seven countries attended, according to online posts and interviews. The mission did not respond to a request for comment.
Although it is startling that someone with Lius background could play a role in hosting an event at the UN, it is not unprecedented. In past cases, wealthy Chinese nationals suspected of links to crime and Chinese intelligence have [infiltrated UN-affiliated organizations](https://news.yahoo.com/china-wants-new-world-order-u-n-china-linked-ngos-secretly-paid-cash-promote-beijings-vision-145746181.html?guccounter=1) as part of alleged bribery and influence operations.
Janet Salazar, the president of the foundation, did not respond to phone calls, texts or emails. Efforts to reach foundation board members were unsuccessful. Emails to Salazar and the foundation in New York bounced back.
UN officials did not respond to queries from ProPublica about what vetting Liu received, if any.
“We are not aware of the story of Mr. Tao Liu,” the UN spokesperson said.
Calderón said in an email that he was invited through a speakers bureau to give a talk on sustainable development. The event included Asian participants who did not appear to speak English, Calderón said, and he had little interaction with them other than posing for photos.
Forbes staff did not respond to requests for comment.
Liu also met U.S. political figures through his latest romantic partner: a Chinese immigrant with contacts of her own. She introduced him to Félix W. Ortiz, then the assistant speaker of the New York State Assembly, who socialized with the couple on several occasions.
Ortiz, a Democrat who formerly represented Brooklyn, did not respond to requests for comment.
Because Liu was not a legal resident, U.S. law barred him from contributing to political campaigns. But he attended political events, according to photos, social media and associates. He also met with two veteran GOP fundraisers in the Asian community, Daniel Lou and Jimmy Chue.
![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27293%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27541%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E)
Photos Liu posted to social media show him spending time with Daniel Lou and Jimmy Chue. Both were with him at a diner after a Trump rally they all attended in fall 2018 (first image; Lou is on the far left, Chue is second from right next to Liu). Liu also shared a picture (second image) with Chue and Lt. Steven Rogers (center), then a Trump campaign advisory board member, at a Manhattan restaurant in spring 2019. Rogers did not respond to requests for comment.
“He was interested in political donations and fundraising,” Lou said in an interview. “He wanted to participate. He was willing to help politicians here. Thats for sure.”
Lou said he did not engage in fundraising with Liu. In an email, Chue said he knew of “no illegal activities” related to Liu. He declined to comment further.
On April 27, 2018, Lius friend Min contributed $5,000 to the New York Republican Federal Campaign Committee, campaign records show. In reality, Liu told Min to make the donation and paid him back, Min said in an interview.
Min said he received the money in cash and did not have evidence of the alleged reimbursement. But if his account is true, it appears that Liu funneled a political donation illegally through Min, a U.S. citizen.
![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27333%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E)
Photos on Lius social media show him rubbing elbows with political figures. Among them (clockwise from top left): U.S. Transportation Secretary Elaine Chao; Assistant Speaker of the New York State Assembly Félix W. Ortiz; New York Mayor Bill de Blasio; and Chair of the New York Republican Party Edward F. Cox and Lara Trump. Ortiz gave Liu an award at Blue Oceans launch ceremony.
The New York GOP did not respond to emails, phone calls, or a fax seeking comment.
### A Sit-Down With the President
As he built his profile in Manhattan, Liu made it clear to associates that he was eager to meet Trump. For help, he turned to Cinque, the longtime Trump associate, according to interviews, photos and social media posts.
Cinque, 86, heads the American Academy of Hospitality Sciences, which gives international awards to hotels, restaurants and other entities. It has given at least 22 awards to Trump ventures, including the Bedminster club, and it once billed Trump as its Ambassador Extraordinaire.
Cinque has a colorful past. In 1990, he pleaded guilty to receiving stolen property, a valuable art collection, according to press reports. A profile in New York Magazine in 1995 quoted him discussing his interactions with “wiseguys” and a shooting that left him with three bullet wounds.
In 2016, Trump told the Associated Press that he didnt know Cinque well and was unaware of his criminal record. In an article in Buzzfeed, Cinques lawyer said his client had no connection to the mob.
Liu dined with Cinque in May 2018 and they hit it off, according to photos and Lius associates. Cinque said he could make an introduction to the president, a close associate of Liu said.
Cinque told ProPublica that people in the Chinese American community introduced him to Liu, describing him as a wealthy entrepreneur and a “good person.” Liu impressed Cinque with his luxury car and entrepreneurial energy. He said they could make a lot of money by pursuing a lucrative cryptocurrency venture, Cinque said.
Liu and Cinque [got together](https://www.youtube.com/watch?v=cPw1NunVAMc) more than a [dozen times](https://www.youtube.com/watch?v=_OfVBMNCcO8), according to social media photos and interviews. At a June gala at the Harvard Club to launch Lius company, Cinque gave him a Six Star Diamond Award for lifetime achievement — an award he had [previously bestowed on Trump](https://www.youtube.com/watch?v=BamTC8qG69M).
“He was gonna pay me big money for giving him the award,” Cinque said. “So I did an award. I didnt check his background, Im not gonna lie to you.”
Liu indicated he would pay as much as $50,000 for the honor, but he never actually paid up, Cinque said.
![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27266%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27300%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E)
Liu with Cinque at a United Nations conference (first image) and at the Bedminster golf club.
Liu followed a familiar playbook for well-heeled foreigners seeking access to Trump, according to national security officials: pour money into his properties.
In July, Cinque helped Liu rent a one-bedroom apartment above the 50th floor in Trump Tower by providing a credit report to the landlord as a guarantor, according to Cinque, a person involved in the rental and documents viewed by ProPublica. Liu paid a years worth of the $6,000 monthly rent upfront. Cinque believes Liu chose Trump Tower in an effort to gain favor with the president.
Liu also told friends he joined the Bedminster golf club, three associates said. Liu told Min he paid $190,000 for a VIP membership, Min said.
But Cinque doesnt think Liu genuinely became a member. In fact, he said he brought Liu to Bedminster partly because Cinque hoped to impress Trump by persuading his well-heeled new friend to join the club.
“I was trying to get him to join, where I look good in Trumps eyes if he joined,” Cinque said. But he said Liu “never gave 5 cents. He was a deadbeat.”
On July 20, CNBC aired an interview with Trump in which he complained about the trade deficit with China.
“We have been ripped off by China for a long time,” Trump said.
By the next day, Lius efforts to gain access to the president had paid off. He met Trump at Bedminster, according to interviews and photos obtained by ProPublica.
![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27519%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27519%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E)
Liu posted a video on Facebook of Trump arriving by helicopter at Bedminster (first image). The second image is a photo obtained by ProPublica of Liu and Cinque meeting with Trump.
The images show the president with Liu and Cinque at a table covered with food, drinks and papers. Three other men are at the table. Trump also posed for photos with Liu and Cinque.
Liu was discreet about the conversation, according to Min. Cinque did most of the talking because of Lius limited English, Lius close associate said.
ProPublica found a few details in an interview of Cinque by SINA Finance, a Chinese media outlet. In the video posted that September, Cinque and a manager of his company announced a business partnership with Liu involving blockchain technology and the hospitality industry. And then Cinque said he had introduced Liu to the president at Bedminster.
“Antony Liu played a big role,” Cinque told the SINA interviewer. “Donald met him, and he wound up staying with him for three hours, just enjoying every moment.”
The video displayed a photo of the president with Liu and Cinque during the visit.
Cinque and Lius companies posted a shorter version of the interview on their social media pages. That video omitted the reference to Liu meeting Trump and the photo of the three of them.
In the interview with ProPublica, Cinque gave a distinctly different version than the one he gave to the Chinese outlet. He said he brought Liu along because Liu implored him for the opportunity of a meeting and photo with Trump. Cinque also said he “exaggerated the truth” when he said Liu spent three hours with the president.
The meeting lasted “maybe twenty minutes, a half hour,” Cinque said.
Cinque was vague about the topic of the conversation with the president, indicating it had to do with the golf club and the awards he gives.
Changing his account once again, he insisted that Liu did not say much.
“He just sat there,” said Cinque, who also denied discussing Lius business deals with Trump. “How I could tell anything good to Donald about him where hes gonna do a deal? First I wanted to see if I could earn anything with him.”
![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27345%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E)
A still from Cinques interview with SINA Finance in which he says the two of them spent three hours with Trump at Bedminster. Credit: SINA
Liu and Cinque met the president again that Sept. 22 during an event at Bedminster, according to interviews and photos. One photo shows Trump smiling with Liu, Cinque and three men who, according to a close associate, were visiting Liu from China for the occasion.
The photos appeared on the Chinese website of the Long Innovations International Group, also known as the Longchuang International Group. The consulting firm owned by Lou, the GOP fundraiser, has organized events [allowing Chinese elites to meet U.S. leaders](https://www.motherjones.com/politics/2019/05/another-chinese-american-trump-donor-tried-to-sell-mar-a-lago-access-to-overseas-clients/). A caption with the photos said: “Longchuang Group and Blue Ocean expert consultant team Trump luncheon.”
But Lou insists he didnt know anything about such an event. He said colleagues in China controlled his companys Chinese website.
“I categorically deny I was involved in this,” Lou said. “I was not there. I did not know about it. Tao Liu did offer to me at one point: You are the pro-Trump leader in the community. How about organizing an event at Bedminster? ... But I did not.”
Cinque, meanwhile, said he brought Liu and his visitors to the club. He disagreed with the company websites description of an event with the president.
“Theres no political — its a golf situation there,” he said. “And people love being in \[Trumps\] company.”
Although Cinque denied receiving money from Liu for himself or the president, he said he didnt know if other visitors paid Liu for the chance to meet Trump, or if Liu made campaign donations through others.
![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27529%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27245%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E)
Liu met Trump again at Bedminster in September 2018. The photos appeared on the Chinese-language website of the Longchuang International Group.
Much about the two Bedminster meetings remains unclear. Did Liu arrange a political event for Trump in September? Or did he bring a group of visitors to the club and manage to encounter the president? Either scenario raises once again the question of vetting.
The Secret Service screens all official presidential visitors for weapons and, along with White House staff, checks them in law enforcement and intelligence databases. Foreign nationals require added scrutiny that can include reviewing raw intelligence from overseas. If questions arise, the Secret Service can consult with the FBI and other agencies, said a former acting undersecretary for intelligence at the Department of Homeland Security, John Cohen, who worked on presidential protection issues.
It is not clear if databases available to the Secret Service held information about the charges against Liu in China and his other alleged illicit activities. But by 2018, Chinese media reports and court documents had described the fraud case complete with photos of Liu. English-language press had also detailed his troubles in the South Pacific and China. Despite Lius use of different first names, a diligent web search could have found some of that information.
But Liu apparently avoided background screening altogether, according to Secret Service officials, Cinque and other sources. Although visitors cannot schedule an official meeting with the president without being vetted, it is possible that they could communicate through the private club to set up an informal meeting, Secret Service officials said. Cinque said he took Liu to Bedminster on days he knew Trump would be there.
The case is another example, national security veterans said, of unique vulnerabilities caused by the freewheeling atmosphere at Trumps clubs.
“Trump has chosen to reside in places that are open to the public,” Cohen said. “He has provided an opportunity to people who join these clubs to get access to him. We have seen that the president enjoys making himself available to people in these settings. A top priority for foreign intelligence is that kind of setting: infiltrating, gaining access. If the former president decides to allow access to criminals and spies, there is not much the Secret Service can do.”
A week after the Bedminster visit, Liu accompanied the Chinese American GOP fundraisers to West Virginia to see Trump speak at a rally. Liu sat in the VIP section.
![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27520%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27297%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E)
Liu attended a Trump rally and posted photos of it on Facebook.
### In the Fall
A year later, Lius American spree was in shambles.
His romantic partner had a child, but they broke up. Liu accumulated angry business associates, including Min, who says Liu owes him $83,000. Liu owed another $2 million in a legal settlement with an investor who sued him for fraud in New York over a cryptocurrency deal, according to court documents.
In the fall of 2019, Liu stopped paying rent at Trump Tower, according to associates and other sources. His family left behind a crib and a bronze statuette of Trump. Liu went to California and departed the country on foot via Tijuana, later saying he “snuck out” to travel with his Mexican passport, according to his associates, national security officials and court documents.
By early 2020, Liu was back in Hong Kong. He set himself up in a high-rise hotel with a waterfront view. Then the pandemic shut down the world.
![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27586%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27540%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E) ![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27540%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E)
Lius Instagram documented his life in Hong Kong in the summer of 2020.
Meanwhile, the DEA had filed charges against his friend Li. Agents scouring a trove of communications, photos and other data realized that Liu had been an important figure in Lis criminal activity.
The agents believed that Liu could tell them more about the money laundering for Latin American drug cartels and the alleged alliance between Chinese organized crime and the Chinese state. And his U.S. political activity intrigued and baffled them. They suspected that he had been operating in a gray area where crime and espionage mix.
“The theory is he was gathering information and feeding it back to Chinese intelligence in order to keep him in good graces to allow him to do his criminality,” a former national security official said. “His currency was influence. And the Chinese would use him as necessary based on his influence. And he was a willing participant in that. The DEA thought it could use him to get at targets in mainland China.”
But the pandemic had prompted Hong Kong to close its borders, and the authorities there were generally obedient allies of Beijing.
The Special Operations Division of the DEA often goes overseas to capture desperados with elaborate undercover stings. In that tradition, the agents came up with a plan.
In April 2020, Liu received a phone call. The caller spoke Chinese. He said he was a money launderer in New York. He said he had gotten the number from Li, their mutual friend in Mexico, court documents say.
The name apparently did the trick.
“Tao is in his apartment on lockdown,” Simms said. “He cant go anywhere. Hes bored, talkative. He just talks and talks.”
Liu talked about teaching Li the tricks of the money laundering trade, according to Simms and court documents. He reminisced about Lis casino in Guatemala. He boasted about using five different passports to slip across borders.
Soon, his new phone friend made a proposal, court documents say. He knew a crooked State Department official with a precious commodity to sell: bona fide U.S. passports.
Agreeing to a price of $150,000 each, Liu requested passports for himself and associates, according to prosecution documents and former national security officials. One of the associates was linked to the 14K triad, the former national security officials said.
By July, Liu had wired a total of $10,000 in advance payments. He received a realistic mock-up of his passport. He showed it off during a video call to Min.
“Ill be back in America soon,” Liu exulted, according to Min.
In reality, the phone friend was an undercover DEA agent. Liu had taken the bait. DEA agents recorded their phone conversations over six months, court documents say.
![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27225%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E)
Credit: For ProPublica
But a complication arose. The DEA learned that the FBI was conducting a separate investigation of Liu, national security sources told ProPublica.
FBI counterintelligence agents in New York became aware of him soon after he began spreading money around and cultivating political contacts in early 2018, national security sources said. Then his contact with Trump spurred an investigation to determine if Chinese intelligence was working with Liu to gain political access, the sources said.
His years as a fugitive gave credence to that idea. Although Chinese authorities had been pursuing him in relation to the cryptocurrency scandal since 2015, China did not issue an Interpol notice for him until 2020. Chinese authorities apparently made little effort to arrest him while he sheltered in Hong Kong for nearly a year.
The DEA and the FBI clashed over the imperatives of counterintelligence and law enforcement. FBI agents wanted to keep monitoring Liu to trace his contacts; DEA agents favored capturing him.
The DEA prevailed. That October, the undercover agent told Liu he had arranged for a private jet to pick him up in Hong Kong, according to court documents and former national security officials. It would take him to Australia, where they would seal the passport deal in person. Agents sent Liu a menu for the flight complete with a choice of cocktail. He thought that was “very high class,” his close associate said.
The stakes were high too. If Chinese authorities learned of the clandestine foray, a diplomatic uproar was likely.
On Oct. 13, the weather was warm and rainy. The DEAs private jet landed in Hong Kong. Liu came aboard without hesitation, according to an associate and former national security officials.
Hours later, the plane touched down in Guam, which is a U.S. territory. DEA agents arrested Liu.
“He was surprised,” the close associate said. “So many police cars. He said it was like a 007 movie.”
### Epilogue
On April 14 of last year, Liu pleaded guilty in a federal courtroom in Virginia to conspiracy to bribe a U.S. official in the passport sting and to conspiracy to commit money laundering. A judge sentenced him to seven years in prison.
![](data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27400%27%20height%3D%27529%27%20style%3D%27background%3Argba%28127%2C127%2C127%2C0.07%29%27%2F%3E)
Tao Liu Credit: Alexandria (Virginia) Sheriffs Office
But two explosive questions remain unanswered: why he had contact with Trump and other politicians, and whether he worked with Chinese spy agencies.
The government has kept most of the story secret. Lius public court file does not mention his political activity. The DEA and Justice Department declined to discuss Liu with ProPublica. An FBI spokesperson said the agency could not confirm or deny conducting specific investigations.
Liu, meanwhile, accepted an interview request. But the Bureau of Prisons refused to allow ProPublica to talk to him in person or by phone, citing “safety and security reasons.”
The FBI investigation of Liu apparently focused on political and counterintelligence matters. Last year, agents questioned Min and at least two other associates of Liu. The agents asked Min about Lius interactions with Cinque and former Assemblyman Ortiz, and if Liu gave them money. Min said he told the agents he did not know.
In an interview with the close associate of Liu, FBI agents asked about Lius contact with Trump, whether he raised money for Trump and Ortiz, his relationship with Cinque, and his contacts with politicians in China. They also asked about money laundering in Mexico, the close associate said.
“I think the FBI thought he was a spy,” the close associate said. “I dont think hes a spy. His English is very bad. He just wanted to show off to Chinese people. This is the way a lot of Chinese business guys operate. A lot of American business guys, too. Getting close to politicians, taking photos with them.”
Cinque said federal agents have not questioned him about Liu.
“I just think he was a fraudulent hustler,” Cinque said. “I dont think he would do anything against the country, but then I could be wrong. Look, he did a lot of things.”
As often happens in counterintelligence cases, Liu remains an ambiguous figure: a con man, or a spy, or possibly both. People familiar with the case are suspicious about his ability to roam the world for years and his success at infiltrating high-level U.S. politics.
“Guys like this never do this kind of thing on their own,” a national security source said. “They always do it for someone else.”
Do You Have a Tip for ProPublica? Help Us Do Journalism.
Got a story we should hear? Are you down to be a background source on a story about your community, your schools or your workplace? Get in touch.
[Expand](https://www.propublica.org/article/liu-tao-trump-meeting-china-investigation#)
[Jeff Kao](https://www.propublica.org/people/jeff-kao) and [Cezary Podkul](https://www.propublica.org/people/cezary-podkul) contributed reporting.
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -0,0 +1,138 @@
---
Tag: ["Art", "🎶", "🪦"]
Date: 2022-10-30
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-10-30
Link: https://www.theringer.com/music/2022/10/28/23426969/warren-zevon-late-show-david-letterman-anniversary
location:
CollapseMetaTable: true
---
Parent:: [[@News|News]]
Read:: No
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-TheNightZevonLefttheLateShowBuildingNSave
&emsp;
# The Night Warren Zevon Left the Late Show Building
David Letterman, 20 years later, still thinks about the interview. “It was the only time in my talk show history that I did anything like that,” he says. “Ive never sat down and talked to anybody on television where we both understood they were about to die.”
[Warren Zevon](https://www.theringer.com/music/2018/9/7/17830460/warren-zevon-career-music-albums) appeared on *Late Show With David Letterman* on October 30, 2002. That summer, [he had been diagnosed](https://www.sun-sentinel.com/news/fl-xpm-2002-09-14-0209140082-story.html) with terminal lung cancer. Doctors gave him a few months to live. To say goodbye to the musician who had graced his stage dozens of times over the previous two decades, Letterman devoted a full episode to him. There were no Hollywood stars promoting a movie, no musical guests debuting a new single. It was just Zevon. He and Letterman chatted, and then he played three songs.
“There are two things at work here, and only one of them I know for a fact: that when people get to be on television, they raise their game because they get to be on television,” Letterman says. “The other thing is, we guessed maybe that there was some pharmaceutical help. But it was stunning. And again, from my standpoint, do you expect a guy to be good-natured about it? I mean, God. It was weird.”
The singer-songwriters final hour with Letterman unfolded into one of the most memorable moments of their careers. Like a classic Zevon track, their conversation was shockingly funny and casually profound. “David didnt make it like a whole long greeting card,” says comedian Richard Lewis, a buddy of Zevons and a frequent Letterman guest. “It was just like two guys bullshitting on a park bench.”
When Letterman asked his friend how his work had changed after learning that he was sick, he replied, “Youre reminded to enjoy every sandwich.” As soon as he heard it, Lettermans longtime band leader Paul Shaffer knew the line would become famous. “Man, if I had only said that in my life,” he says, “I think my life wouldve been worth something.”
Looking back on it now, Letterman cant believe the send-off happened at all. “If I was dying, Im not going to go and talk to anybody on TV about me and my impending death,” he says. “Selfishly, and of course under the circumstances, why would I think about anything other than myself? Thats all you need to know about what I am.” Zevon, however, seemed to savor the chance to give himself over to Letterman and his audience one last time. “He was kind of on a mission,” says *Late Show* producer and booker Sheila Rogers. “He knew what he was doing. He was almost revitalized a little bit. It was so important, this appearance.”
Letterman admits that the idea of asking someone he revered questions about his mortality threw him off. “I just wasnt grounded,” he says. But as “ill-equipped” as he claims that he was, he knows that his discomfort was a natural byproduct of the extraordinarily emotional circumstances.
“One of the rare cases where I give myself a bit of a break,” Letterman says. “Because, holy shit!”
When Letterman found out that Zevon was sick, he felt optimistic about his friends chances. “In the beginning, it seemed like something that he would outlive, that he would get by because it was described as cancer,’” he says. “At some point the idea of lung cancer stopped being a death sentence. … So I think that in that little loophole, there was hope that, Oh, well, hes a young guy, hell still be all right.’”
Then Letterman learned that the 55-year-old Zevons illness was [pleural mesothelioma](https://cancerwellness.com/entertainment/warren-jordan-zevon-mesothelioma/), an aggressive disease that affects the lining of the lungs. Yet despite his dire prognosis, Zevon wasnt yet ready to publicly lapse into sentimentality. “Im OK with it,” [he said in a September 2002 statement](https://www.billboard.com/music/music-news/zevon-diagnosed-with-untreatable-cancer-74245/). “But itll be a drag if I dont make it till the next James Bond movie comes out.”
The acerbic artist may have turned his death into an ironic joke, but he approached his dual role as a musician and provider with sincerity. Without much time left, he began work on a new album and went on a press [tour](https://www.rollingstone.com/music/music-news/warren-zevon-and-the-art-of-dying-38326/). He also made a plan to visit the *Late Show*. Technically it was to promote the release of a [new best-of record](https://en.wikipedia.org/wiki/Genius:_The_Best_of_Warren_Zevon), but it was really a going-away party. “Warren wanted to do the show,” Rogers says. “There was no question about it. I think the bigger issue was, would he be up for such a big undertaking? And then when we told Dave he was gonna come do the show, Dave said, It should be his show.’”
TV send-offs had happened before—Letterman points out that [Johnny Carson interviewed Michael Landon](https://www.youtube.com/watch?v=fl49E8JXpRk) on *The Tonight Show* in 1991 two months before the actor died of pancreatic cancer—but showcasing an artist who hadnt had a Top 40 hit since [“Werewolves of London”](https://en.wikipedia.org/wiki/Werewolves_of_London) in 1978, even one whose days were numbered, was a fairly bold move in the hyper-topical late-night world. “Like so many nights that ventured from the normal, I sat in my office, watching the taping, worried whether or not we would make it,” *Late Show* writer Bill Scheft says via email. “And by that I mean: Can we make it through an entire taping? So often, we fall in love with the idea rather than the reality. And the reality, lets face it, rarely measures up. Of course, it was an inspired idea, but it was so intensely personal to Dave. Could the reality possibly match?”
Letterman had been an obsessive Zevon fan since his girlfriend recommended that he read [Paul Nelsons 1981 *Rolling Stone* cover story](https://www.rollingstone.com/music/music-news/the-crackup-and-resurrection-of-warren-zevon-243661/) about the singer-songwriter. The profile, published three years after the release of his breakthrough third album, *Excitable Boy*, is a compendium of the artists self-destructive behavior. “I became interested in the guy because the story at the time was crazy and fascinating, not atypical as it turns out of artists,” the host says. “And it was that that caused me to start listening to his music.”
He quickly realized that Zevons music was more interesting than his sordid image. His songs could be romantic, angry, self-loathing, political, violent, and funny—or a mix of all those. “I had the good fortune to go see him live in New York,” Letterman says. “I just thought, Now wait a minute, this guy is a poet. Hes a historian. His music is unusual. Its rock n roll, but nobody talks about these things.”
Letterman is particularly fond of [“Desperados Under the Eaves,”](https://en.wikipedia.org/wiki/Desperados_Under_the_Eaves) the chronicle of a mans descent into alcoholism while holed up in a Los Angeles hotel, and [“Roland the Headless Thompson Gunner,”](https://en.wikipedia.org/wiki/Roland_the_Headless_Thompson_Gunner) the tale of a Norwegian mercenary who seeks revenge against the man who killed him. “Jesus, I think hes unique,” Letterman says. “He can take these ideas and sit down at the piano … its like a magic trick.”
In the summer of 1982, just months after *Late Night With David Letterman* premiered on NBC, Zevon made his first appearance on the show in support of his album *The Envoy*. He returned five years later, shortly after getting sober, to promote his next record, [*Sentimental Hygiene*](https://en.wikipedia.org/wiki/Sentimental_Hygiene). Zevon started to come back more regularly in the early 90s, following Letterman to CBS and occasionally filling in for Shaffer as band leader. The host was so fond of Zevon that during one of those stints, he sent a cooler full of steaks to the musicians hotel room. “Dad gave them all to us because he couldnt do anything with them in the hotel,” his daughter Ariel says in [*Ill Sleep When Im Dead*](https://bookshop.org/p/books/i-ll-sleep-when-i-m-dead-the-dirty-life-and-times-of-warren-zevon-crystal-zevon/8822879), her mother Crystals biography of Zevon. “So we went back with this enormous quantity of very high end steaks.”
In 2001, Zevon asked Letterman to visit him in *his* studio. The musician had written a ballad with sportswriter Mitch Albom and wanted the hosts voice on it. Thats Letterman shouting the titular line on “Hit Somebody! (The Hockey Song),” an ode to the games goons. “Its a bad acting job on my part,” Letterman says. “Hes standing in the God-dang room and I had to do it and then I realized years later when I heard it again, Oh, thats not what he wanted. I know exactly what he wanted, and Im not sure I could accomplish that now. But listening to it after the fact, I realized, Oh, you can tell I dont know what Im doing.’”
But even if he wasnt happy with his performance, Letterman concedes that hes “pleased to have been in the song.” There was no way he was saying no to Warren Zevon.
![](https://cdn.vox-cdn.com/thumbor/l_DW2am7tUlR1ezTXaNOg5sbZK4=/0x0:2000x1310/1200x0/filters:focal(0x0:2000x1310):no_upscale()/cdn.vox-cdn.com/uploads/chorus_asset/file/24148354/GettyImages_470467388.jpeg)CBS via Getty Images
*Keep the jokes coming.* Before the rehearsal, that was Zevons main request. “I dont want any weird questions or anybody to say, How are you feeling?’” Shaffer remembers him saying on that day in October 2002. “None of that.”
Zevon wanted the performance to feel normal, but Shaffer knew it would be anything but. After all, the musician wanted to play three songs; artists on *Late Show* usually performed only one. “And its hard enough to do one, and sometimes when you finish the rehearsal, youre almost tired,” says Shaffer, who recalls that Zevon used to fly into New York for *Late Show* a day early to make sure that hed have time to clear his inevitable headache. “Forget about being sick with cancer.”
The singer-songwriters mood during the warm-up eased Shaffers fears. “The band starts, the drums kick in, and hes no different than any other musician, sick as he was,” he says. “He was getting into it in the rehearsal. And so obviously anybody wouldve been exhausted after that, but he went on and did that amazing show.”
Leading up to the taping, it was Letterman—not Zevon—who was the most nervous person at the Ed Sullivan Theater. “I remember being uncomfortable about it from the very beginning,” he says. His 20-year relationship with Zevon made it difficult for the host to focus. “If I had not known the guy, it wouldve been easier for me to approach, to execute, to take care of,” he says. “But the fact that I knew the guy and knew what he was doing and thinking …”
When the show started, Letterman succeeded in not succumbing to his self-consciousness. After beginning with [a traditional monologue](https://www.oocities.org/davidletterman82/LateShowTranscriptWarrenZevonsFinalAppearance.html) that featured jokes about disgraced celebrity publicist Lizzie Grubman and the murder charges against Robert Blake, he sat down at his desk and told the audience about the evenings guest. With Shaffers help, he spoke of his own Zevon fandom, the musicians history with the show, and the singers catalog. “This guy is the real deal,” the host said. “You know, hes not one of these pretty-faced, phony rock n roll guys.”
In hindsight, Letterman thinks that the introduction sounded stitled. “On paper, it just couldnt be more, OK, and your first guest would be somebody who only has a few months to live,’” he says.
Lewis isnt surprised that Letterman is so hard on himself. “I never would think David would feel good about much of anything,” the comedian says. “As magnificent as he was for such a long stretch, hes just not the type of guy to go on about himself. Thats why he was so great. He was a perfectionist, and he would never feel that satisfied.”
What Letterman saw as awkwardness came off as admiration. The episode was a tribute to a musician whod been underappreciated; giving people a primer on his work was appropriate. Following a Halloween-themed Top 10 list, Letterman finally brought out the guest of honor. “A brilliant songwriter and a musician who has been a friend of ours for 20 years, and believe me its a thrill to have him here with us,” he said. “Ladies and gentlemen, please welcome Warren Zevon. Warren!”
The well-tanned singer, wearing his signature dark glasses and a gray pinstripe suit with an open collar, came out with a smile on his face. After the two friends shook hands, they sat down at Lettermans desk. “I guess a couple of months ago,” the host began, “we all learned that your life has changed radically, hasnt it?”
“You mean you heard about the flu?” Zevon joked. Then he let out a laugh that cut through the tension in the room like a machete. “When he laughed, his eyes would almost roll up like in a slot machine just as its coming to an end,” Lewis says. “And then each one would stop.”
Letterman served as straight man to Zevon throughout the interview, deftly guiding him with straightforward questions that resulted in poignant (and often funny) answers. “Dave did an amazing job of not making it as awkward as it could have been,” says Shaffer, who during the show played several Zevon songs with his CBS Orchestra. “Warrens days were numbered and he was here to talk about it. Not ignore it, but talk about it.”
Zevon told the story of his diagnosis, which came after he experienced shortness of breath for months. “First of all, let me say that I might have made a tactical error in not going to a physician for 20 years,” said the singer-songwriter, whose trusty dentist, “Dr. Stan,” finally convinced him to see a medical doctor.
When Letterman complimented him on looking “remarkably healthy,” Zevon quipped, “Dont be fooled by cosmetics.” The host still marvels at how *on* the musician was that day: “He was vibrant, for Gods sake. And he had more energy than did I.”
Eventually, things turned serious. Zevon told Letterman that he wanted to make the most of whatever time he had left. “I really always enjoyed myself. But its more valuable now,” he said, before dispensing his most famous piece of advice. “Youre reminded to enjoy every sandwich and every minute playing with the guys, and being with the kids.”
The line was so good that it practically worried Scheft. “My memory is when he said that, I thought, This will not get better,’” the *Late Show* writer recalls. “That line is positively Zen-like. Nobody can follow that.”
Its unclear whether Zevon had used it before, but it was perfect for the occasion. “It certainly encapsulates his overall presentation and seemingly upbeat mood about things,” Letterman says. “But yet signaling what he was up against.”
The night confirmed the obvious about Letterman and Zevon: Their admiration was mutual. The singer-songwriter thanked the host for his support over the years, correctly pointing out that “Daves the best friend my music has ever had.” As the conversation wound down, Zevon owned up to the reality that having “lived like Jim Morrison” had consequences. “And then,” he said, “you have to live with the consequences.” He also acknowledged that after his diagnosis, the streak of gallows humor running through his work made songs like “Ill Sleep When Im Dead,” “Mr. Bad Example,” and “My Rides Here” feel prophetic.
One of the last things that Letterman asked Zevon was whether he now knew something about life and death that the host didnt. And once again, the musician responded by talking about savoring every last bite of life. “Not unless I know how much youre supposed to enjoy every sandwich,” he said.
“I think Zevon probably really appreciated the way that David pursued the truth and how he was feeling,” Lewis says. “He enabled Warren to get all the information out on his terms. He wasnt feeding him softballs for comments that would be either too dark or too depressing. It was just a mano a mano kind of thing. It was great.”
As moving as the night was, it wasnt a funeral. Zevon wanted to put on a show, and thats what he did. With Shaffer and his band backing him, the musician, as promised, played three songs. The first, the title track off his 1995 album [*Mutineer*](https://en.wikipedia.org/wiki/Mutineer_(album)), was written from the perspective of a romantic rabble-rouser. “I was born to rock the boat / Some will sink but we will float,” Zevon sang, “Grab your coat, lets get out of here / Youre my witness / Im your mutineer.”
Zevons next song, “Genius”—“modestly titled,” he deadpanned to Letterman—was also the name of his 2002 greatest-hits album. The self-referential cut, which name-checks several cultural icons, features one of Shaffers favorite lines: “Albert Einstein was a ladies man / While he was working on his universal plan / He was making out like Charlie Sheen / He was a genius.”
“He *was* a genius, as far as Im concerned,” Lewis says. “I hate that word. Now its thrown around like a rag doll. But he was clearly a genius.”
Though Letterman never convinced him to play “Desperados Under the Eaves,” Zevon closed the show with another one of the hosts favorites, “Roland the Headless Thompson Gunner.” The haunting song ends with the titular ghost showing up in conflict zones around the world. “In Ireland, in Lebanon, in Palestine, and Berkeley,” Zevon belted out. “Patty Hearst heard the burst of Rolands Thompson gun and bought it.”
“At the end, he invokes Patty Hearst,” Letterman says. “And its just, I dont know. Its like a card trick.”
The moment Zevon played the final note, the host walked to the piano and shouted, “Yes sir! There you go! Warren Zevon, everybody!” Letterman shook the musicians hand. “Warren,” he said, pulling him close, “enjoy every sandwich.”
He knew that there was no other way to end the evening. “It just seemed like for a lack of anything better to say,” Letterman says, “I will repeat what seemed perfect.”
When the taping ended, Letterman and Zevon met in the musicians dressing room. The host didnt typically socialize with his guests after a show, but on this night he made an exception. “While were talking he just perfunctorily is taking his guitar, taking the strap off, doing whatever you do to a guitar,” Letterman remembers. “He gets out the case, and were continuing to talk and who knows what were saying. It was small talk. Just fill the air with something while hes going through the business of putting the guitar in the thing. He puts it in, closes the lid, snaps it closed, hands it to me, and he says, Take good care of this for me. And I burst into tears. Uncontrollable. I had no idea that I would be bursting into tears, but I did. And I hugged him and I said, I just love your music. And that was it.”
As emotional as Letterman was, it was the most grounded that he felt all day. “The only part of it that felt normal to me,” he says, “was after the show upstairs in his dressing room.”
That was the last time Letterman saw or spoke to Zevon. Zevon outlived his prognosis by 10 months, getting to see the birth of his twin grandchildren and the release of his final album, *The Wind.* He died on [September 7, 2003](https://www.nytimes.com/2003/09/08/obituaries/warren-zevon-singersongwriter-dies-at-56.html), almost a year after his last public appearance—on the *Late Show.*
To this day, Letterman is still the best friend Zevons music has ever had. In 2017, he inducted Pearl Jam into the Rock & Roll Hall of Fame. [He ended his speech](https://variety.com/2017/music/news/watch-david-lettermans-epic-pearl-jam-speech-at-the-rock-hall-of-fame-1202026963/) by stumping for an old pal: “I would just like to say one day I hope to come back here for the induction for my friend Warren Zevon.” When [Letterman was being awarded](https://www.vanityfair.com/hollywood/2017/10/david-letterman-bill-murray-kennedy-center-mark-twain) the Mark Twain Prize for American Humor later that year, Eddie Vedder honored him by singing Zevons bittersweet [“Keep Me in Your Heart.”](https://www.youtube.com/watch?v=tJHms53I_1o) At the end of the performance, Letterman caught up with the Pearl Jam lead singer. “He says, Thanks for calling Warren to my attention,’” Letterman recalls. “And I thought, Youre kidding me. Youre kidding me! Really? Am I the only one that knows about this guy?”
At home, the retired host has a wall covered in guitars given to him by artists who played the *Late Show*. Gifts from Foo Fighters, U2, and Pearl Jam are all special. But Zevons stands apart. “Its just my favorite,” Letterman says. “The others were sort of, Hey, thanks. Enjoyed the gig, kinds of things. This was, Thank you, and goodbye.’”
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -0,0 +1,235 @@
---
Tag: ["Art", "🎥", "🇺🇸"]
Date: 2022-10-30
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-10-30
Link: https://www.gq.com/story/matthew-perry-men-of-the-year-2022
location:
CollapseMetaTable: true
---
Parent:: [[@News|News]]
Read:: No
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-TheStoryMattPerryCantBelieveHeLivedtoTellNSave
&emsp;
# The Story Matthew Perry Cant Believe He Lived to Tell
**To give a sense** of what it might be like to read Matthew Perrys remarkable, startling, and heartfelt memoir, *Friends, Lovers, and the Big Terrible Thing*, Id like to share one particular readers experience:
A few months after completing the book, Perry was scheduled to record the audiobook version. That was when it struck him that although he had written the book—and he really had written it himself, double thumbing the first half in the Notes app on his phone before finishing the rest on his iPad—he had never actually allowed himself to read it from start to finish. The following day, he would be expected to perform these words into a microphone. Perhaps he should take steps to prepare himself. So he lay on his bed, iPad in front of him, and dove in.
Writing the book had felt *freeing.* “I was completely honest,” he says. “It just fell out of me. It just fell onto the page.” But this was the moment when its author discovered that it was one thing to have written the true story of Matthew Perry. It was quite another thing to read it.
“I read it,” he says, “and cried and cried and cried. I went, Oh, my God, this person has had the worst life imaginable! And then I realized, This is me Im talking about.…’ ”
That night, Perry couldnt even bear to be in the same room as his words.
“Because I had to go to sleep,” he says, “I actually took the iPad and put it outside my room. Because it was too close, too painful.”
Shirt, $1,290, by Zegna at Neiman Marcus. T-shirt, $78, by Hiro Clark.
---
**Yes, this is** that Matthew Perry. The one who, a quarter of a century ago, played the endlessly charming, sarcastic, and needy Chandler on the most successful sitcom of its time, *Friends* (and thus, in a sense, the one who, in the never-ending loop of streaming TVs eternal present, still plays Chandler on *Friends*). So what on earth could he be talking about? I mean, I daresay you may well have heard a few things about him over the years. That hed had a bit of a drink problem? Taken a few pills? Gotten a little bit plump? Gotten a little bit skinny? Had an onward career that, in aggregate, more sputtered than soared? But none of that, lets be frank, would be too far from the usual course of such things. In that case, if hes now written a book, wont it just be one more cuddly celeb memoir lightly seeded with guarded feel-good revelations about navigating fames tightrope and transcending ones demons?
Sure. Absolutely. Well, sort of. Not really. As in, yes, but only in a parallel universe where cuddly celeb memoirs include passages like this:
*Ive been in therapy since I was 18 years old, and honestly, by this point, I didnt need any more therapy—what I needed was two front teeth and a colostomy bag that didnt break. When I say that I woke up covered in my own shit, Im talking 50 to 60 times.*
---
**“I have to order** something healthy,” Perry announces. We have arranged to meet for dinner at the private members club Soho House in West Hollywood, not far from where Perry is renting a home in the hills, while a multi-year renovation of a house hes bought in the Pacific Palisades—“gorgeous view of the ocean, kind of a dream house kind of thing,” he explains—is being completed.
Whatever his other woes, Perry remains untouched by poverty. Toward the end of *Friends* run, each of its six stars were paid more than $1 million each per episode, and he still has plenty left. “Im not the kind of guy thats going to go blow a million dollars on something pointless,” he explains. Though hell also tell me—weve known each other for just under three minutes at this point—about one time he did do something financially reckless on a much bigger scale. This involved a previous property purchase, a 10,400-square-foot Los Angeles penthouse totally unsuited to his needs in almost every way other than that it resembled the apartment occupied by Christian Bales Batman in *The Dark Knight.* Perrys reasoning, if that is the correct word, was: “Bruce Wayne had a penthouse—Im going to have one.” It didnt take him long to realize “what a stupid mistake that was.”
I ask whether it was even fun for a while.
“Maybe the first few days, when you got lost in it. But after that it was like: Why did I do this?”
Perrys phone, lying on the table between us, has a decal of the traditional Batman wingspan logo on it. Perry has, it turns out, a Batman thing. He is a big fan, particularly of the three Christopher Nolan movies, and mentions that he is building a dedicated Batman room in the new house (“a Matt cave,” he deadpans), with pool table, big TV, and black couch surrounded by shelves of his Batman paraphernalia. When I press him further about this preoccupation with Batman, Perry simply responds with a surprising assertion.
“I am Batman,” he says.
A little confused, I ask him to explain.
“Well, hes a rich loner,” he answers. “We both drive black, cool cars.” (Perry drove himself here in a 2021 Aston Martin Vantage V8 Roadster, a model he selected for its Batmobile-esque qualities.) “I dont solve crime,” he adds. “But Ive saved peoples lives.”
Perry orders the meatball starter, and a burger with no bun, no fries—just a patty and some ketchup—and begins to explain. Theres a lot to explain.
Shirt, $600, by Tom Ford at Neiman Marcus. T-shirt, $78, by Hiro Clark. Jeans, $218, by 7 for All Mankind at Neiman Marcus. His own sneakers, by John Varvatos.
The “big terrible thing” that appears in the title of Perrys book, and which lies at its center, is his addiction. “In the dictionary under the word *addict,*” he writes, “there should be a picture of me looking around, very confused.”
“Its a book about the rise and rise of my fame, all while battling this horrible addiction,” he says. “Its dedicated to all of the sufferers out there. You know who you are. And the point of it is to teach that addiction can hit everybody, and make people feel less alone.…” Thats the saving lives hes talking about, the work he has done both in public and one-on-one for many years now, helping others with addiction even as his own struggles have persisted. “There has to be some reason why Im still here, having done all of this crazy stuff, and I came to the conclusion its to write a book that will help people who are going through the same thing that I am, or did,” he tells me. “Plus, I wanted the general public to realize how hard it was to quit and not be judgmental for people who are using. Because it is really, really hard.”
Or, as he puts it in the book: “My mind is out to kill me, and I know it.”
“Its not an ego journey or anything like that,” he says. “Its the cold, hard truth about being an addict. Who made it. Who has to make it every day. The work you have to put in every day to save yourself from this monster that lives in your brain is a baffling thing to live with.”
---
**The bravery of Perrys** book is not just in what he says, or how he says it, and how unflinching he is in his commitment to say it, but that he chose to say it at all.
It was only about 18 months ago that Perry started to write, sitting in the back of a car, traveling to a facility in Florida where he was to undergo trauma therapy—“trauma camp,” he calls it. He notes in the books prologue, “I have lived half my life in one form or another of treatment center or sober-living house,” and that is just one of the many alarming empirical measures he supplies of the troubles hes faced. For instance: “I have spent upward of $7 million trying to get sober. I have been to six thousand AA meetings…Ive been to rehab 15 times. Ive been in a mental institution, gone to therapy twice a week for 30 years.…” Likewise: “Ive detoxed over 65 times in my life….” Or: “My weight varied between 128 pounds and 225 pounds during the years of *Friends.* You can track the trajectory of my addiction if you gauge my weight from season to season—when Im carrying weight, its alcohol; when Im skinny, its pills. When I have a *goatee,* its *lots* of pills.” And also: “People would be surprised to know that I have mostly been sober since 2001. Save for about 60 or 70 little mishaps over the years.”
What Perry details is the incremental progress of an unraveling beyond his control. For instance, there was that first drink in his backyard with friends at the age of 14 when his friends ended up vomiting but he discovered something else: “I realized that for the first time in my life, nothing bothered me. The world made sense; it wasnt bent and crazy. I was complete, at peace.… I thought; *this is what Ive been missing. This must be how normal people feel all the time.*” Then there was the Jet Ski accident on Lake Mead between *Friends* second and third season, after which a doctor gave him a single pill. “As the pill kicked in, something clicked in me,” he writes. “And its been that click Ive been chasing the rest of my life.” Eighteen months later he was taking 55 Vicodin a day.
Aside from anything else, Perry tells me, what he faced was a logistical challenge—each morning he would wake and wonder how he would get that days pills: “I had, like, eight doctors going at the time. A fake headache here and there, a fake back pain. But I had to do it every day.” And it is when we are at our most desperate that we are sometimes at our most inventive. Popular culture is saturated with tales detailing the desperate strategies that those without means sometimes adopt to find the drugs they need, but those with greater privilege have other options; Perry pioneered a particularly ingenious one.
Lets take just this one story to represent the levels of surreal distortion and subterfuge in this period of his life. Over a period of about five years, during peak *Friends,* he would often make appointments on the weekends to see high-end properties, ostensibly with a view to buying them. Perhaps he was interested in the house, perhaps he wasnt—either way, he had a parallel covert agenda. Finding an opportune moment, at some time during the visit he would slip away. “I would just go into the bathroom when they were somewhere else,” he explains. “Because if I said, Could I go to the bathroom? everybody knew that I was in the bathroom.” There, he would take an inventory of the current occupiers medicine cabinet, and assess the possibilities. Sometimes there was nothing, but often enough he found the kind of fruit he was seeking. Now he had to decide which, and how much, was ripe for harvest. In his own way, he was careful. Hed check the labels. Best of all were if the pills were out of date—he felt safe taking a whole bunch of those. A brand-new prescription, he wouldnt chance taking more than a couple. “But you do what you need to do,” he says. “I counted on the fact that no one would think that Chandler went through my medicine cabinet and stole from me.”
As far as he knows, he always got away with that, and he kept doing what he could to hide his wider dissolution—whether pills or drinking. “It was a secret,” he says. “Because there was something wrong with me, and I didnt know what. And I couldnt stop or I thought I would go crazy.” Still, if he imagined that the fraying seams werent showing, he was fooling himself. “Everybody knew,” he reflects. “The cast of *Friends* knew. Jennifer Aniston took me aside once and said, We know youre drinking. And I said, How do you know? And she said, We can smell it. And that didnt stop me.”
Soon came another of many rehabs, and onward into the decades of yo-yoing summarized in the statistics above. Along the way, there have been sustained periods of relative well-being, but everything crescendoed with a calamitous series of events that kicked off in July 2018 when, after being raced from his latest rehab to the hospital in excruciating pain, Perrys colon exploded. (He had been constipated for 10 days from his bodys reaction to drugs taken as both abuse and treatment.) His family was told that he had a two percent chance of surviving the night, and he was in a coma for two weeks. He would remain hospitalized for five months. It was while he was unconscious that he was fitted with a colostomy bag—“a look even I couldnt pull off”—which facilitated the safe routing of solid waste out of his body while his intestines healed. When it worked, anyway. “I would wake up,” he tells me, “the bag would have broken again and I had shit all over my face, all over my body, in the bed next door. When it breaks, it breaks. You have to get nurses.”
After nine months with the colostomy bag, an operation was scheduled to remove it. (Perry notes that he has had 14 surgeries to date relating to this hospitalization. Perry also lost his front teeth in this period after biting into a piece of peanut-butter-covered toast, and ultimately had to have *all* of his teeth replaced.) But this first attempt at removing his colostomy bag didnt work. Instead, Perry had to be given a temporary replacement: an ileostomy bag. “Ten times worse. You have to deal with an ileostomy bag 18, 19 times a day. A lot of suicides with an ileostomy bag. People cant take it.” The next surgery, soon afterward, thankfully fixed things. “And Ive lived without it now for a long time,” he says, “and Im very grateful.”
Inevitably, he has been left with plenty of scars. “Im just getting used to how my body looks,” he says. “I look at them with gratitude, because it helped me stay alive. But I have to live my life 24/7 with all of this scar tissue Im constantly aware of. It feels like Im doing a sit-up at full stretch all the time.”
---
**Are you presuming** by now that you know how the rest of this story goes? That, after such a brutal and harrowing experience, sidestepping death by a slither, Perry left the hospital and returned into the world finally cleansed of the impulses that had long tormented him?
If only stories like this had such clean, pure contours. Here is how, in his book, Perry describes what actually happened:
*The first time I took my shirt off in my bathroom after returning from the hospital after my first surgery I burst into tears. I was so disturbed by it. I thought my life was over. After about half an hour I got my shit together enough to call my drug dealer.…*
When I ask Perry about this, he repeats what one of his therapists likes to say: “Reality is an acquired taste.” He knew what hed survived. But he still wanted drugs. “It didnt matter,” he says. “I needed to take them.”
Thats why he would soon enough end up in yet another rehab, in Switzerland. There, he says, he nearly died for a second time. He tells me that, during a surgical procedure, hed been given propofol—notorious, Perry notes, as “the drug that killed Michael Jackson”—and his heart stopped. For, he was told afterward, *five minutes*.
“This huge, strong guy leaped on top of me,” Perry says, “and did CPR, and broke eight of my ribs and saved my life.”
More recently, Perry says, things have gotten much better. He now insists, for instance, that he will never take OxyContin again because it is lodged in his brain that, if he does, he will end up with a colostomy bag for life.
I inquire whether its appropriate to ask him how long it now is since he slipped.
“Im going to keep that to myself,” he replies. “Its been a little while.”
I ask whether theres anything more he can add to that.
“Just that its going well now. I understand more now. Im less ruled by fear now. One of the things I learned is I can handle when bad things happen now. Im resilient, I am strong, and those things should come very clearly to the reader in the book as well. I am a strong man and I never gave myself credit for that, ever. But now Im slowly starting to.”
Perry will leave Soho House at the end of tonights conversation carrying the two portions of sticky toffee pudding—“the best dessert Ive ever had in my life”—that he is taking back to people waiting at his house. His plan is to watch this years *The Batman* (to his surprise, he has accepted this into his approved Batman canon) for maybe the sixth time, though in the end hell settle down with the John Grisham book hes reading. On the way out, he passes some other guests heading in the opposite direction. In their wake, their muttered words hang in the air.
“Its Chandler…its Chandler…”
“That happens every day,” he says, evidently bristling.
Exactly how Perry feels about the way hes perceived by the world, its not simple. When he says to me at one point, “Its a very serious book—maybe people will take me more seriously,” I ask him whether he doesnt think people take him seriously. He gives the following answer, one maybe offering a snapshot of the twisting, turning contortions inside:
“I do, but maybe more so when they hear all this. You know, the Chandler show, the Matthew Perry show, the Ah! Ah! Ah!, the song-and-dance man, the guy whos funny all the time—I dont have to be that anymore. And Ive known that for about 10 years. I dont have to do that. In fact, its probably pretty annoying to people, so I dont do it anymore. Im funny when I want to be, but I dont feel the need to be funny.”
---
**A whole other** seam of Perrys book, as signaled by the …*Lovers*… in its title, relates to the relationships he has had. This, too, often makes for uncomfortable reading. Perry clarifies to me that only once has a partner dumped him, a circumstance he didnt take too well: “I lit candles in my house and drank and drank and drank over that, for about two years.” Instead, his practiced routine has always been to preempt this possibility by breaking up with people before they can do the same to him, to obviate the rejection he fears will leave him—the word he chooses—“annihilated.”
Perry spells out to me how it goes: “I break up with them because Im deathly afraid that they will find out that Im not enough, that I dont matter, and that Im too needy, and theyll break up with me and that will annihilate me and Ill have to take drugs and that will kill me. Thats why I break up with these wonderful women that have crossed my path. You know, Im not being dramatic when I say theres 10 women on the face of the planet that I would kill to be married to. Who Ive gone out with and broken up with. And now theyve all moved on, all of them, and are married and have kids. And youre not supposed to look in the rearview mirror because then youll crash your car. But I looked in the rearview mirror and I was like, theyre all gone. Theyre all happy, which is great, but Im the one whos sitting in a screening room by myself. And theres no lonelier moment than that.”
In the book he doesnt name most of the women who have slipped in, and then out, of his life, but there are exceptions. For instance, he refers in passing to a brief encounter he says took place the summer before *Friends* was first broadcast: “a make-out session in a closet with Gwyneth Paltrow.” When I mention this circumstance to Perry over dinner, he says, “hopefully, shell find it to be a cute story…itd be bad if Gwyneth Paltrow hated me; I wouldnt like that.” *Friends*\-centric readers will presumably be interested in one relationship that did not occur. In the book, he reveals that he and Jennifer Aniston had first met through people they knew three years before *Friends,* and that he had asked her out but been rebuffed. Finding himself on the same show, his interest rekindled. “I realized that I was still crushing badly on Jennifer Aniston,” he writes. “Our hellos and goodbyes became awkward. And then Id ask myself, *How long can I look at her? Is three seconds too long*?”
“That was a fun crush that never really was taken seriously,” Perry tells me, “because of a ridiculous disinterest from her. And it wasnt like I *longed* for her. I just thought she was beautiful and great, and so I had this kind of little-kid crush on her. And then it waned, you know. After she got married, I was like, well, thats it, Im ending this crush right here and now.” (Historical fact: Aniston started dating her future husband, Brad Pitt, before *Friends* fifth season.)
I ask Perry whether hes ever told Aniston how he felt?
“No.”
I ask what shell think to discover it?
“Shell be flattered,” he suggests, “and shell understand.”
Lisa Kudrow wrote his books introduction—“the first time Im hearing what living with and surviving his addiction really was,” she explains—but he says his other costars havent read it. “Nor do I think that they will,” he tells me. I express my incredulity. “Why would they read it?” he asks. “I dont know. Because, you know, who cares? Addicts are going to care about this, and fans of *Friends* are going to care about this. But the cast is not going to really care about this.”
The relationship on which Perry lingers longest is with Julia Roberts. He describes their extended initial flirtation by fax—as he summarizes it to me, “the courtship is *unbelievably* romantic”—and refers to a day they spent together on New Years Eve 1995 in Taos as “the day I wish I could live over and over again.” But eventually, as ever, Perry called things off. “I cant begin to describe,” he writes, “the look of confusion on her face.”
I ask him how he actually told Roberts.
“We were driving in a car and being chased by paparazzi,” he answers, “and I said, I want to break up with you. Because I think she fancied herself slumming it with TV Boy. And then TV Boy just broke up with her. And you know that the reason I did that was purely out of fear. I needed to get out.”
And what was her immediate reaction?
“She was upset. And couldnt believe it.”
Have you discussed it with her since?
“No.”
Do you run into her?
“No, I have not run into her. I assume she would be falsely nice. And, you know, Im sure shes, of course, moved on.”
I ask whether Roberts knows hell be saying any of this in the book.
“No. But I think shell be flattered because I say nothing but wonderful things about her. And the reason I broke up with her is out of sheer fear. I was like, Shes going to dump me any minute, so I should probably dump her first. And that was fear-based and probably stupid. But thats what I did.”
---
**It is essential** to Perrys hard-fought understanding of what afflicts him that it is not a character flaw or a weakness, it is a disease.
“Thats what alcoholism is,” he says. “It doesnt decipher between the super wealthy or the guy who lives in the rent-controlled apartment. It doesnt care. It just goes randomly to whoever has the gene. And thats a message I want out there.” In a way, the most painful parts to read of his book are when he repeatedly returns to the theme of what he would renounce to not be as he is: “I would give up all the money, all the fame, all the stuff…to not have this disease, this addiction.” I think he keeps saying it in different ways because he knows full well how hard it will be for people to believe him, and he wishes they would.
When I ask him whether it feels unfair to him that this is the brain he ended up with, his answer comes quickly, and firmly. “Yes,” he says. “It does.”
I further ask Perry what people misunderstand about him.
“That Im weak,” he replies. “That I want to party all the time. That I have no will. You know, all the misconceptions people have about addicts.” He likes to imagine a world where he will be remembered less for *Friends*—“*Friends* being an absolutely wonderful experience”—than for helping others get sober.
These days, he plays a lot of pickleball, hangs out with friends, gets into shape, goes to the movies. And sometimes he writes. Aside from this book—which, I suspect, may make more of a mark than he yet realizes—he has written for TV and wrote a play that was produced in London and New York. He recently wrote a movie script, *One Year Later,* that he wants to direct, in which a couple break up and the girl is about to marry “the wrong guy.” When he wrote it, he imagined that hed play the right guy. “And then realized I was 20 years too old to play the part,” he says, laughing. “Because these are mistakes that 30-year-olds make, not that 53-year-olds make.” Not typical 53-year-olds, he means. “I make them!” he clarifies.
Though in his own life he believes that hes now worked out enough of “these core fears” that the mistakes of his past need not determine his future. “It took decades to do it, but I have,” he says. “I believe that I am enough, and I believe that Im not too needy, and I believe that I do matter.” And so he can now say this: “I know that the next person I date, if its good, will be significant, because Im no longer mired in those kinds of fears. So Im looking forward to that. Im not out on the hunt for it or anything, but if it happens itd be nice.” Hed like to start a family. “I think Id be a great dad. And now I think Id be a good husband. But not back then.”
Perry tells me that he could say that this is the happiest hes ever been, and then quantifies it as a 7 on a scale of 1 to 10. “Whichll probably be the highest Ill ever get,” he says. “Maybe if I had a kid it would move me up.”
Conversely, he clues me in on some of the signs that might indicate that things were heading in the wrong direction.
“Theres little hints,” he says. “If somebody says, How are you? and I say, Im fine, thats how you know that Im in trouble. If I have a big goatee, Im in trouble.”
*What are the other telltale signs?*
“Being too thin. Being too fat. Falling down flights of stairs. Those kinds of things.”
He starts to describe what could happen. “Like, if I decided to take OxyContin now—first of all, I wouldnt do it because of the colostomy bag fear—but if I decided to take opiates now, narcos, Vicodin, any of those, Id have a really, really good month, because it gives you energy and it makes you feel good. Id have a good month. And then Id be completely fucked up.”
Just hearing Perry spell this out so methodically is sufficiently alarming enough that I reflexively blurt out: Please dont.
“I wont,” he replies.
**Chris Heath** *is a GQ correspondent.*
---
**Watch Now:**
**10 Things Matthew Perry Can't Live Without**
---
**PRODUCTION CREDITS:**
*Photographs by **Ryan Pfluger***
*Styling by **Andrew Vottero***
*Hair by **Sierra Kener** for 901 Artists*
*Grooming by **Sonia Lee** for Exclusive Artists using La Mer and Oribe*
*Tailoring by **Yelena Travkina***
*Produced by **Annee Elliot Productions***
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -12,7 +12,7 @@ CollapseMetaTable: true
---
Parent:: [[@News|News]]
Read:: No
Read:: [[2022-10-27]]
---

@ -12,7 +12,7 @@ CollapseMetaTable: true
---
Parent:: [[@News|News]]
Read:: No
Read:: [[2022-10-27]]
---

@ -0,0 +1,113 @@
---
Tag: ["Politics", "🇺🇸", "Trump", "📖"]
Date: 2022-10-30
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-10-30
Link: https://www.washingtonpost.com/media/2022/10/25/trump-tapes-bob-woodward-reporting/
location:
CollapseMetaTable: true
---
Parent:: [[@News|News]]
Read:: No
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-WhatTheTrumpTapesrevealaboutWoodwardNSave
&emsp;
# What The Trump Tapes reveal about Bob Woodward
In June 2020, Bob Woodward received one of his many unexpected phone calls from Donald Trump. When their conversation turned to the rapidly growing protests following the police murder of George Floyd weeks earlier, the journalist took a personal tack in pressing the president of the United States on the nationwide outpouring of grief and anger.
“I mean, we share one thing in common,” Woodward told Trump. “Were White, privileged. … Do you have any sense that that privilege has isolated and put you in a cave, to a certain extent, as it put me — and I think lots of White, privileged people — in a cave? And that we have to work our way out of it to understand the anger and the pain, particularly, Black people feel in this country? Do you see —”
Trump cut him off.
“No,” he said sharply. “You really drank the Kool-Aid, didnt you? Just listen to *you*. Wow. No, I dont feel that at all.”
The exchange is captured within “[The Trump Tapes](https://amzn.to/3F7cocN),” Woodwards new audiobook centered on 20 interviews he conducted with Trump for his 2020 book “Rage.” Woodward, an associate editor at The Washington Post, said he took the unusual step of releasing the audio because he felt it offered new insight into Trumps worldview. “When you get the voice out there, its a total, completely different experience,” Woodward told The Post. In the Kool-Aid exchange, Trump holds forth in a mocking tone, with a hint of a sneer. At other points, he sounds meanderingly repetitive, or blazingly defiant.
The warrant authorizing the search of former president Donald Trumps home said agents were seeking documents possessed in violation of the Espionage Act. (Video: Adriana Usero/The Washington Post)
Yet “The Trump Tapes” also offers a surprising window into the legendary investigative reporters process — a perennial focus of both mystique and critique. At various points, Woodward argued with Trump, sympathized with him, and — in one phone call that Woodwards own wife suggested crossed an ethical line for a journalist — seemed to advise the president on how to manage the pandemic.
Woodward, 79, has written books about U.S. presidents since Nixon. “In my process I do deep background interviews with dozens, hundreds of sources,” he said, though all of his interviews with sitting presidents, going back to George W. Bush, have been on-the-record. Yet the experienced interviewer said that in re-listening to his Trump interviews, he regretted some of his choices.
When Woodward asked Trump in another June 2020 conversation if he would refuse to leave the White House if the election was close or contested, Trump refused to comment — a rarity in their conversations — and changed the subject.
“As I listen to that again, I fault myself for not following up on that,” Woodward told The Post.
Listening to “The Trump Tapes” may be a jarring experience for audiences accustomed to more polished radio or television news interviews, in which broadcast journalists ask rigorously crafted questions meant to inform the audience as well as prompt the subject — and then respond to their subjects in the moment by fact-checking, pushing back or calling attention to shocking comments.
Woodward, though, did not audibly react to many of Trumps more startling quotes. (Even when, as he described of one exchange in the voice-over commentary that provides an overlay of fact-checking throughout the audiobook, he was “absolutely stunned.”) And he did not take a confrontational stance — which he says was intentional. Arguing would have proved counterproductive, he said, for interviews that were designed simply for his own information-gathering.
The tapes also show Woodward struggling to extract basic information from Trump, as the former president spins off on tangents or repeats himself about unrelated matters. Yet Trump would often initiate phone conversations at unexpected hours and talk at length, Woodward told The Post — even as Trump claimed that he didnt have time to sit down with the White Houses top infectious-disease expert, Anthony S. Fauci.
In one exchange, Woodward highlighted for Trump their shared disdain for the [Steele dossier](https://www.washingtonpost.com/national-security/2022/10/18/igor-danchenko-john-durham-verdict/?itid=lk_inline_manual_26) — a compilation of memos by a former British intelligence agent suggesting Trump ties to Russia.
In early 2017, Trump had happily tweeted about Woodward [calling the dossier “a garbage document” during a “Fox News Sunday” appearance](https://nypost.com/2017/01/15/bob-woodward-calls-trump-dossier-garbage/), and Woodward reminded Trump of this in a 2019 conversation. “You tweeted a thing, thank you, and everyone piled on me: *How can you say that?! This is a holy document!*'” the journalist added with a tinge of sarcasm aimed at his naysayers.
Woodward told The Post that his past comments about the dossier may have encouraged Trump to speak with him. But he thinks Trump was also influenced by Sen. Lindsey O. Graham (R-S.C.), who reassured him that Woodward would not put words in his mouth.
Meanwhile, the audiotapes suggest that Trump was determined he could win Woodwards esteem, repeatedly referring to his prowess as a leader in terms like “nobody else” or “Im the only one.”
Woodwards interviewing style turned more confrontational during an April 2020 call, amid the growing pandemic crisis — to the point that he found himself lecturing Trump. The tapes show the journalist pushing Trump to take a more forceful government response.
“If you come out and say This is a full mobilization, this is a Manhattan Project, we are going — pardon the expression — balls to the wall, thats what people want,” Woodward told Trump, sometimes shouting and interrupting the president to make his argument.
“Im going to do what you would like me to do, which I am doing,” Trump later replied, after hearing Woodwards case.
“No, no, thats not — ” Woodward said, apparently aware that his comments had come across like advocacy, but Trump cut him off.
In his interview with The Post, Woodward acknowledged that his approach in that conversation was “really unusual for a reporter.” But he had previously spent several weeks talking to top health experts in the government who said they couldnt get through to Trump about the seriousness of the crisis, and he felt an obligation to present their list of recommended actions to Trump, to make sure the president knew what the experts were saying.
“We were in a different world,” Woodward told The Post, citing the accelerating death toll. “You have to take the public interest first in this case.”
Though Woodward repeatedly told Trump that the recommendations were “based on my reporting” and that he was speaking “as a reporter,” after the call, his wife, journalist Elsa Walsh, told him it sounded as if he were telling the president what to do.
In July, Woodward pressed Trump again on his plan for tackling the pandemic. “You will see the plan. Bob — Ive got 106 days. Thats a long time.” By mentioning the 106 days until the election, Trump seemed to be viewing questions about the crisis through the lens of his reelection bid. In his voice-over commentary, Woodward noted: “I did not know what to say.”
In the audiobook, Woodward also revisits an interview that previously generated criticism of his reporting methods.
When “Rage” was released in September 2020, some readers were shocked by Woodwards revelation that Trump — who had spent months downplaying the threat of [coronavirus](https://www.washingtonpost.com/coronavirus/?itid=lk_inline_manual_48) — [had told the author in February](https://www.washingtonpost.com/politics/bob-woodward-rage-book-trump/2020/09/09/0368fe3c-efd2-11ea-b4bc-3a2098fc73d4_story.html?itid=lk_inline_manual_48) of that year that the coronavirus was far deadlier than the flu.
Woodward found himself on the defensive from critics who asked why he hadnt published that interview as soon as it happened — along with a later interview in which Trump said he downplayed the virus “because I dont want to create a panic.”
The writer [explained at the time](https://www.washingtonpost.com/lifestyle/media/should-bob-woodward-have-reported-trumps-virus-revelations-sooner-heres-how-he-defends-his-decision/2020/09/09/6bd7fc32-f2d1-11ea-b796-2dd09962649c_story.html?itid=lk_inline_manual_52) that he was aware that Trump frequently uttered falsehoods during their interviews and that it took him months of additional reporting to corroborate Trumps comments on the coronavirus and perceive their relevance.
“The Trump Tapes” makes Woodwards reporting journey more clear with its chronological presentation. When Trump told him covid was deadlier than the flu, both men were talking about it as a problem confined mostly to China. But in May and June, several top officials told Woodward they had warned Trump as early as January that coronavirus would be the top national security threat the president would ever face.
Woodward says that it was only when he viewed the February conversation in hindsight that he decided that “what this shows is the coverup.”
On Friday, after news of the project broke, Trump [told Fox News host Brian Kilmeade](https://podcasts.apple.com/us/podcast/donald-trump-herschel-walker-on-the-brian-kilmeade-show/id219258773?i=1000583456460) that he had no objection to the content of the audiobook but hinted vaguely that he might attempt to assert rights over the project, arguing he hadnt agreed to their release and that “the tapes belong to me.” Woodward said that he had not informed Trump about the closely guarded plan to release their interviews in audiobook form and said he didnt need to “because it was all on the record.”
For both Woodward and his publisher, Simon and Schuster, the audiobook is something of an experiment. Its unusual for a journalist to make raw reporting so public. And while research materials and interview transcripts often find welcoming homes in library archives, “The Trump Tapes” also aims to be a commercial product.
Will it sell? Interest in Trump books remains high; “[Confidence Man](https://amzn.to/3TvdqUr),” the new biography of the former president by New York Times journalist Maggie Haberman, debuted at the top of the bestseller lists this month. And if “The Trump Tapes” is a success, other journalists might consider releasing their tapes, said Chris Lynch, president of Simon and Schusters audio division. On Monday, it was already the No. 1 seller on the Audible platform.
“Because Ive heard it and I think its compelling listening, I think theres going to be a market for anybody whos interested in politics, history and Trump in particular,” said Lynch, adding that the insight into Woodwards techniques could also make the audiobook useful to journalism educators.
But “The Trump Tapes” raises another question: Does it demystify the Woodward reporting process or expose too much of his tactics? If so, what does that mean for his future reporting projects?
Woodward said he may yet write another presidential book, but “Im just not sure.” He does, however, want to write a book about the process of reporting stories.
“Its an endless process,” he said, “learning about reporting.”
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -127,7 +127,8 @@ image: https://cdn.sanity.io/images/rizm0do5/production/03de4f90a9b3ff63a729a3e1
&emsp;
- [ ] :label: [[Bookmarks - Admin & services]]: Review bookmarks 🔁 every 3 months 📅 2022-10-30
- [ ] :label: [[Bookmarks - Admin & services]]: Review bookmarks 🔁 every 3 months 📅 2023-01-30
- [x] :label: [[Bookmarks - Admin & services]]: Review bookmarks 🔁 every 3 months 📅 2022-10-30 ✅ 2022-10-29
&emsp;
&emsp;

@ -60,6 +60,16 @@ image: https://opengraph.githubassets.com/55888ed4c924334dad78ba089c1d6239deb7b6
&emsp;
```cardlink
url: https://fivebooks.com/category/best-books-of-2022/
title: "The Best Books of 2022 - Five Books Expert Recommendations"
description: "The best books of 2022, as recommended by experts, with selections of both the best fiction and nonfiction. Ideal books to read in 2022."
host: fivebooks.com
image: https://fivebooks.com/app/uploads/2022/01/best-2022-books-category-share-image.jpg
```
&emsp;
---
&emsp;

@ -11,7 +11,7 @@ CollapseMetaTable: true
---
Parent:: [[@Bookmarks]]
Parent:: [[@Bookmarks]], [[@Computer Set Up|Computer Setup]]
---
@ -50,6 +50,50 @@ style: number
&emsp;
```cardlink
url: https://forum.obsidian.md/t/mobile-automatic-sync-with-github-on-ios-for-free-via-a-shell/46150?ref=Obsidian+Roundup-newsletter
title: "[Mobile] Automatic sync with GitHub on iOS (for free) via a-shell"
description: "I recently started using Obsidian and didnt want to pay for Sync or Working Copy, so I thought Id try to figure out a way to sync my vault everywhere for free. I saw in the comments of this post by rsteele and this post from ForceBru that people were able to get GitHub to sync with their iOS device using the a-shell app, but the way to do it was not really discussed. I hope that this tutorial will be useful for other non-tech-savvy people like myself who would like to get their vault synced ac..."
host: forum.obsidian.md
favicon: https://forum.obsidian.md/uploads/default/optimized/1X/bf119bd48f748f4fd2d65f2d1bb05d3c806883b5_2_32x32.png
image: https://forum.obsidian.md/uploads/default/original/1X/bf119bd48f748f4fd2d65f2d1bb05d3c806883b5.png
```
&emsp;
```cardlink
url: https://github.com/erykwalder/obsidian-list-style?ref=Obsidian+Roundup-newsletter
title: "GitHub - erykwalder/obsidian-list-style at Obsidian Roundup-newsletter"
description: "Contribute to erykwalder/obsidian-list-style development by creating an account on GitHub."
host: github.com
favicon: https://github.githubassets.com/favicons/favicon.svg
image: https://opengraph.githubassets.com/7e4396d8f6f76c516510fcd28d7aa93102c1ebc686b587c295c277b0ae80aae1/erykwalder/obsidian-list-style
```
&emsp;
```cardlink
url: https://github.com/rien7/obsidian-colorful-tag?ref=Obsidian+Roundup-newsletter
title: "GitHub - rien7/obsidian-colorful-tag at Obsidian Roundup-newsletter"
description: "A simple plugin to beauty your tags in obsidian! Contribute to rien7/obsidian-colorful-tag development by creating an account on GitHub."
host: github.com
favicon: https://github.githubassets.com/favicons/favicon.svg
image: https://opengraph.githubassets.com/a5b75730ac26e4e54fe8dff35cf1c3a48fbd8275f26e32ebdf339d88eb7b94b9/rien7/obsidian-colorful-tag
```
&emsp;
```cardlink
url: https://github.com/cloudhao1999/obsidian-scroll-to-top-plugin?ref=Obsidian+Roundup-newsletter
title: "GitHub - cloudhao1999/obsidian-scroll-to-top-plugin at Obsidian Roundup-newsletter"
description: "This is a plugin for Obsidian that adds a button to scroll to the top of the current note. - GitHub - cloudhao1999/obsidian-scroll-to-top-plugin at Obsidian Roundup-newsletter"
host: github.com
favicon: https://github.githubassets.com/favicons/favicon.svg
image: https://opengraph.githubassets.com/3cfb1af22d40f2726f5a9683cfba5d04eeca9dbcf9977952b051f49fefd19128/cloudhao1999/obsidian-scroll-to-top-plugin
```
&emsp;
```cardlink
url: https://gist.github.com/etd2w/6587a93776222b519da5bd48ce25cbdb
title: "dataview_shows_db.js"
@ -71,8 +115,6 @@ favicon: https://publish-01.obsidian.md/access/342b33803baa5ad0055c9141648edad3/
&emsp;
&emsp;
```cardlink
url: https://github.com/remotely-save/remotely-save
title: "GitHub - remotely-save/remotely-save"

@ -75,7 +75,7 @@ hide task count
- [x] ☕ Coffee ✅ 2022-03-01
- [x] 🍶 Coke 0 ✅ 2022-03-14
- [x] 🧃 Apfelschorle ✅ 2022-05-07
- [x] 🍊 Morning juice ✅ 2022-10-24
- [x] 🍊 Morning juice ✅ 2022-10-29
- [x] 🍺 Beer ✅ 2022-02-06
- [x] 🍷 Wine ✅ 2022-08-05
@ -83,16 +83,17 @@ hide task count
#### Snacks & Sweets
- [x] 🍿 Snacks ✅ 2022-03-04
- [x] 🍦 Dessert ✅ 2022-09-18
- [x] 🍿 Snacks ✅ 2022-10-29
- [x] 🍦 Dessert ✅ 2022-10-29
&emsp;
#### Dairy
- [x] 🧈 Beurre ✅ 2022-09-18
- [x] 🧀 Fromage ✅ 2022-09-18
- [x] 🧀 Fromage rapé ✅ 2022-09-18
- [x] 🧈 Beurre ✅ 2022-10-29
- [x] 🧀 Fromage ✅ 2022-10-29
- [x] 🧀 Fromage rapé ✅ 2022-10-29
- [x] 🍦 Sour Cream ✅ 2022-10-29
&emsp;
@ -101,31 +102,35 @@ hide task count
- [x] 🥯 Bread ✅ 2022-10-24
- [x] 🍯 Honey/Jam ✅ 2022-03-31
- [x] 🍫 Nutella ✅ 2022-02-15
- [x] 🥚 Eggs ✅ 2022-09-18
- [x] 🥚 Eggs ✅ 2022-10-29
&emsp;
#### Fresh
- [x] 🍐 Fruit ✅ 2022-10-24
- [x] 🍌 Bananas ✅ 2022-09-05
- [x] 🍅 vegetables ✅ 2022-10-24
- [x] 🧅 onions ✅ 2022-03-31
- [x] 🧄 garlic ✅ 2022-09-18
- [x] 🍐 Fruit ✅ 2022-10-29
- [x] 🍌 Bananas ✅ 2022-10-29
- [x] 🍅 Vegetables ✅ 2022-10-29
- [x] 🥦 Fennel ✅ 2022-10-29
- [x] 🥦 Radish ✅ 2022-10-29
- [x] 🧅 Onions ✅ 2022-03-31
- [x] 🧄 Garlic ✅ 2022-09-18
&emsp;
#### Meat & Fish
- [x] 🥩 Cured meat ✅ 2022-10-24
- [ ] 🍖 Fresh meat
- [x] 🥩 Cured meat ✅ 2022-10-29
- [x] 🍖 Fresh meat ✅ 2022-10-29
- [x] 🐟 Salmon fillet ✅ 2022-10-29
&emsp;
#### Bases
- [x] 🍝 Pasta ✅ 2022-10-24
- [x] 🍚 Rice ✅ 2022-03-31
- [x] 🍝 Pasta ✅ 2022-10-29
- [x] 🌾 Bulgur ✅ 2022-10-29
- [x] 🍚 Rice ✅ 2022-10-29
- [x] 🥔 Potatoes ✅ 2022-10-24
&emsp;
@ -151,7 +156,7 @@ hide task count
#### Herbs
- [x] 🌿 Thyme ✅ 2022-03-14
- [x] 🌿 Dill ✅ 2022-03-14
- [x] 🌿 Dill ✅ 2022-10-29
- [x] 🌿 Bay leaves ✅ 2022-08-05
- [x] 🌿 Oregano ✅ 2022-03-14
- [x] 🌿 Herbes de Provence ✅ 2022-03-14
@ -167,7 +172,7 @@ hide task count
- [x] 🥣 Beef broth ✅ 2022-08-05
- [x] 🥣 Vegetable broth ✅ 2022-08-05
- [x] 🧂 Salt ✅ 2022-10-19
- [x] 🧂 Pepper black ✅ 2022-10-19
- [x] 🧂 Pepper (black) ✅ 2022-10-19
- [x] 🧂 Pepper (white) ✅ 2022-10-19
&emsp;

@ -89,7 +89,8 @@ style: number
#### 🏠 House chores
- [ ] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France %%done_del%% 🔁 every month on the last Saturday 🛫 2022-10-03 📅 2022-10-29
- [ ] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France %%done_del%% 🔁 every month on the last Saturday 🛫 2022-10-31 📅 2022-11-26
- [x] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France %%done_del%% 🔁 every month on the last Saturday 🛫 2022-10-03 📅 2022-10-29 ✅ 2022-10-29
- [x] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France %%done_del%% 🔁 every month on the last Saturday 🛫 2022-08-29 📅 2022-09-24 ✅ 2022-09-23
- [x] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France %%done_del%% 🔁 every month on the last Saturday 🛫 2022-08-01 📅 2022-08-27 ✅ 2022-08-27
- [ ] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper %%done_del%% 🔁 every week 📅 2022-10-31
@ -102,7 +103,8 @@ style: number
- [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper %%done_del%% 🔁 every week 📅 2022-09-12 ✅ 2022-09-09
- [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper %%done_del%% 🔁 every week 📅 2022-09-05 ✅ 2022-09-02
- [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper %%done_del%% 🔁 every week 📅 2022-08-29 ✅ 2022-08-27
- [ ] :bed: [[Household]] Change bedsheets %%done_del%% 🔁 every 2 weeks on Saturday 📅 2022-10-29
- [ ] :bed: [[Household]] Change bedsheets %%done_del%% 🔁 every 2 weeks on Saturday 📅 2022-11-12
- [x] :bed: [[Household]] Change bedsheets %%done_del%% 🔁 every 2 weeks on Saturday 📅 2022-10-29 ✅ 2022-10-29
- [x] :bed: [[Household]] Change bedsheets %%done_del%% 🔁 every 2 weeks on Saturday 📅 2022-10-15 ✅ 2022-10-14
- [x] :bed: [[Household]] Change bedsheets %%done_del%% 🔁 every 2 weeks on Saturday 📅 2022-10-01 ✅ 2022-10-03
- [x] :bed: [[Household]] Change bedsheets %%done_del%% 🔁 every 2 weeks on Saturday 📅 2022-09-17 ✅ 2022-09-19

@ -0,0 +1,126 @@
---
Alias: ["New York City", "NY", "NYC"]
Tag: ["🇺🇸", "🗽"]
Date: 2022-10-28
DocType: "Place"
Hierarchy: "NonRoot"
TimeStamp:
location: [40.7127281,-74.0060152]
Place:
Type: Region
SubType: City
Style: "Big Apple"
Location: "East Coast"
Country: USA
Status: Recommended
CollapseMetaTable: true
---
Parent:: [[@United States|United States]], [[@@Travels|Travels]]
&emsp;
`= elink("https://waze.com/ul?ll=" + this.location[0] + "%2C" + this.location[1] + "&navigate=yes", "Launch Waze")`
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-NewYorkSave
&emsp;
# New York
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Accommodation
&emsp;
&emsp;
---
&emsp;
### Restaurants
&emsp;
```cardlink
url: https://www.bonappetit.com/story/katz-new-york-delis-fashion-delicore?utm_term=article-4&utm_source=nl&utm_brand=ba&utm_mailing=BA_ROTD_102922&utm_campaign=aud-dev&utm_medium=email&bxid=61ddd2c7059cbc783c6c7d3f&cndid=68077058&hasha=64abb2b2ab92f1441348f3e30ec6a058&hashb=440287f702803098e28a3a992505b1cd41eb0555&hashc=a227b6d0abc4582c10e807450b6dd0b76d4445a555fab00cb5771287e13d3e00&esrc=subscribe-page
title: "The Old School Deli Is the Newest Hot Girl Hangout"
description: "A Batsheva Hay show at Ben's. A Diplo set at Katz's. New Yorks downtown scene has fallen hard for delicore."
host: www.bonappetit.com
image: https://assets.bonappetit.com/photos/632b3d5641f230cc60951d0f/16:9/w_1280,c_limit/h_15427109.jpg
```
&emsp;
---
&emsp;
### Shopping
&emsp;
&emsp;
---
&emsp;
### A visiter
&emsp;
&emsp;
---
&emsp;
### Other activity
&emsp;
```dataview
Table DocType as "Doc type" from [[New York]]
where !contains(file.name, "@@Travel")
sort DocType asc
```
&emsp;
&emsp;

@ -79,12 +79,14 @@ style: number
&emsp;
1. Interlaken
2. Arosa
3. Zermatt
4. Crans Montana
5. Verbier
6. Gstaad
1. Interlaken (Grinenwald)
2. Davos
3. Laax
4. Arosa
5. Zermatt
6. Crans Montana
7. Verbier
8. Gstaad
&emsp;

@ -1,8 +1,8 @@
---
ServingSize: 4
ServingSize: 2
cssclass: recipeTable
Tag: ["🧘🏼‍♂️", "NotYetTested"]
Tag: ["🧘🏼‍♂️", "⏲️"]
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
@ -10,7 +10,7 @@ location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: true
Meta:
IsFavourite: False
Rating:
Rating: 4
Recipe:
Courses: "Main dish"
Categories: "Fish"

@ -11,7 +11,7 @@ location:
CollapseMetaTable: true
TVShow:
Name: "Game of Thrones"
Season: 7
Season: 8
Episode: 2
Source: Internal
banner: "![[img_1924.jpg]]"

@ -0,0 +1,94 @@
---
type: "movie"
subType: null
title: "Hail, Caesar!"
englishTitle: "Hail, Caesar!"
year: "2016"
dataSource: "OMDbAPI"
url: "https://www.imdb.com/title/tt0475290/"
id: "tt0475290"
genres:
- "Comedy"
- "Drama"
- "Mystery"
producer: "Ethan Coen, Joel Coen"
duration: "106 min"
onlineRating: 6.3
image: "https://m.media-amazon.com/images/M/MV5BOTI1M2FlMzItY2VjYS00Y2VkLWI5OTQtMzA0MWMyNmQzZmQ0XkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_SX300.jpg"
released: true
premiere: "05/02/2016"
watched: true
lastWatched: "2022/10/27"
personalRating: 6
tags: "mediaDB/tv/movie"
CollapseMetaTable: true
---
Parent:: [[@Cinematheque]]
---
```dataviewjs
dv.paragraph(`> [!${dv.current().watched ? 'SUCCESS' : 'WARNING'}] ${dv.current().watched ? 'last watched on ' + dv.current().lastWatched : 'not yet watched'}`)
```
&emsp;
# `$= dv.current().title`
&emsp;
`$= dv.current().watched ? '**Rating**: ' + dv.current().personalRating + ' out of 10' : ''`
```toc
```
&emsp;
### Details
&emsp;
**Genres**:
`$= dv.current().genres.length === 0 ? ' - none' : dv.list(dv.current().genres)`
`$= !dv.current().released ? '**Not released** The movie is not yet released.' : ''`
&emsp;
```dataview
list without id
"<table><tbody><tr><td><a class=heading>Type</a></td>"
+
"<td><span style='color: var(--footnote);'>" + this.type + "</span></td></tr>"
+
"<tr><td><a class=heading>Online Rating</a></td>"
+
"<td><span style='color: var(--footnote);'>" + this.onlineRating + "</span></td></tr>"
+
"<tr><td><a class=heading>Duration</a></td>"
+
"<td><span style='color: var(--footnote);'>" + this.duration + "</span></td></tr>"
+
"<tr><td><a class=heading>Premiered</a></td>"
+
"<td><span style='color: var(--footnote);'>" + this.premiere + "</span></td></tr>"
+
"<tr><td><a class=heading>Producer</a></td>"
+
"<td><span style='color: var(--footnote);'>" + this.producer + "</span></td></tr></tbody></table>"
FROM "03.04 Cinematheque/Hail Caesar! (2016)"
```
&emsp;
---
&emsp;
### Poster
&emsp;
`$= '![Image|360](' + dv.current().image + ')'`

@ -48,16 +48,15 @@ style: number
&emsp;
```chat
```dialogue
left: Boubinou
right: Mel-mo
titleMode: all
messageMaxWidth: 40%
< Boubinou | ohlala, i am so sick in my tummy
< ohlala, i am so sick in my tummy
# Boubinou looks full of beans
< i need to go home!
delimiter
> Mel-mo | I can smell a lil' rat! Somebody does not seem to want to finish her French class
> I can smell a lil' rat! Somebody does not seem to want to finish her French class
< heho
< I am sooo sick! It happens everytime i forget to take my pill.
< Pass me the biscuits!!

@ -237,7 +237,8 @@ sudo bash /etc/addip4ban/addip4ban.sh
#### Ban List Tasks
- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix %%done_del%% 🔁 every week on Saturday 📅 2022-10-29
- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix %%done_del%% 🔁 every week on Saturday 📅 2022-11-05
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix %%done_del%% 🔁 every week on Saturday 📅 2022-10-29 ✅ 2022-10-29
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix %%done_del%% 🔁 every week on Saturday 📅 2022-10-22 ✅ 2022-10-21
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix %%done_del%% 🔁 every week on Saturday 📅 2022-10-16 ✅ 2022-10-15
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix %%done_del%% 🔁 every week on Saturday 📅 2022-10-15 ✅ 2022-10-15
@ -277,7 +278,8 @@ sudo bash /etc/addip4ban/addip4ban.sh
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-10-02 ✅ 2022-10-01
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-10-16 ✅ 2022-10-01
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-10-15 ✅ 2022-10-15
- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-10-29
- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-11-05
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-10-29 ✅ 2022-10-29
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-10-22 ✅ 2022-10-21
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-10-16 ✅ 2022-10-15
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-10-15 ✅ 2022-10-15

@ -72,7 +72,8 @@ All tasks and to-dos Crypto-related.
[[#^Top|TOP]]
&emsp;
- [ ] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-28
- [ ] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-11-04
- [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-28 ✅ 2022-10-28
- [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-21 ✅ 2022-10-21
- [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-14 ✅ 2022-10-14
- [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-07 ✅ 2022-10-07

@ -72,7 +72,8 @@ Note summarising all tasks and to-dos for Listed Equity investments.
[[#^Top|TOP]]
&emsp;
- [ ] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-28
- [ ] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-11-04
- [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-28 ✅ 2022-10-28
- [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-21 ✅ 2022-10-21
- [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-14 ✅ 2022-10-14
- [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-07 ✅ 2022-10-07

@ -72,7 +72,8 @@ Tasks and to-dos for VC investments.
[[#^Top|TOP]]
&emsp;
- [ ] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-28
- [ ] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-11-04
- [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-28 ✅ 2022-10-28
- [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-21 ✅ 2022-10-21
- [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-14 ✅ 2022-10-14
- [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] %%done_del%% 🔁 every week on Friday 📅 2022-10-07 ✅ 2022-10-07

Loading…
Cancel
Save