Last active
December 27, 2015 23:29
-
-
Save sharapeco/7406804 to your computer and use it in GitHub Desktop.
xyzzy で Markdown を書くための設定
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;; -*- Mode: Lisp; Package: EDITOR -*- | |
;;; | |
;;; This file is not part of xyzzy. | |
;;; | |
;;; Markdown を HTML に変換したりする | |
;;; | |
;;; 改変 markdown-mode for #xyzzy (色付け & メジャーモード化) が必要 | |
;;; https://gist.github.com/youz/1339252 | |
(provide "markdown-mode") | |
(in-package "md") | |
(defvar *markdown-converter* "c:\\xampp\\php\\php.exe c:\\Apps\\php-tools\\markdown.php" | |
"markdown-mode: HTMLに変換するためのプログラム") | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; HTML に変換 | |
(defun markdown-convert-and-view (&optional (filename (get-buffer-file-name))) | |
"markdown-mode: このファイルをHTMLに変換して開く" | |
(interactive) | |
(let (command | |
output-file | |
(bufname "*Markdown conversion*") | |
(error-message nil)) | |
(when filename | |
(setq output-file filename) | |
(when (string-match "^\\(.*\\)\\.\\(md\\|txt\\)$" output-file) | |
(setq output-file (string-replace-match output-file "\\1"))) | |
(setq output-file (concat output-file ".html")) | |
(execute-shell-command | |
(concat *markdown-converter* " \"" filename "\" > \"" output-file "\"") nil nil) | |
(shell-execute | |
(concat "file:///" output-file) t)))) | |
(unless *markdown-mode-map* | |
(setq *markdown-mode-map* (make-sparse-keymap)) | |
(define-key *markdown-mode-map* '(#\C-c #\o) 'md::markdown-convert-and-view) | |
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/// PHP Markdown Extra を使って Markdown を HTML に変換する | |
/// CSS はこのファイルに直接書く | |
/// | |
/// PHP Markdown Extra | |
/// http://michelf.ca/projects/php-markdown/extra/ | |
if ($argc < 2) { | |
echo 'Please specify input file' . PHP_EOL; | |
exit(1); | |
} | |
// Install PSR-0-compatible class autoloader | |
spl_autoload_register(function($class){ | |
require preg_replace('{\\\\|_(?!.*\\\\)}', DIRECTORY_SEPARATOR, ltrim($class, '\\')).'.php'; | |
}); | |
// Get Markdown class | |
use \Michelf\Markdown; | |
// Read file and pass content through the Markdown praser | |
$text = @file_get_contents($argv[1]); | |
if ($text === false) { | |
echo 'Could not open file: ' . $argv[1] . PHP_EOL; | |
exit(2); | |
} | |
$html = Markdown::defaultTransform($text); | |
$title = preg_match('{<h1>(.+?)</h1>}i', $html, $m) ? $m[1] : 'Markdown output'; | |
?> | |
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="UTF-8"> | |
<title><?php echo $title; ?></title> | |
<style type="text/css"> | |
/* GitHub stylesheet for MarkdownPad (http://markdownpad.com) */ | |
/* Author: Nicolas Hery - http://nicolashery.com */ | |
/* Version: 29d1c5bc36da364ad5aa86946d420b7bbc54a253 */ | |
/* Source: https://github.com/nicolahery/markdownpad-github */ | |
/* RESET | |
=============================================================================*/ | |
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; } | |
/* BODY | |
=============================================================================*/ | |
body { font: 16px/1.75 "Segoe UI", Meiryo, sans-serif; color: #333; background-color: #fff; padding: 20px; max-width: 960px; margin: 0 auto; } | |
body>*:first-child { margin-top: 0 !important; } | |
body>*:last-child { margin-bottom: 0 !important; } | |
/* BLOCKS | |
=============================================================================*/ | |
p, blockquote, ul, ol, dl, table, pre { margin: 15px 0; } | |
/* HEADERS | |
=============================================================================*/ | |
h1, h2, h3, h4, h5, h6 { margin: 30px 0 10px; padding: 0; font-weight: bold; -webkit-font-smoothing: antialiased; } | |
h1 tt, h1 code, h2 tt, h2 code, h3 tt, h3 code, h4 tt, h4 code, h5 tt, h5 code, h6 tt, h6 code { font-size: inherit; } | |
h1 { font-size: 28px; margin-bottom: 20px; padding-bottom: 5px; border-bottom: solid 4px #ddd; } | |
h2 { font-size: 24px; border-bottom: 1px solid #ddd; } | |
h3 { font-size: 18px; } | |
h4 { font-size: 16px; } | |
h5 { font-size: 14px; } | |
h6 { color: #777; font-size: 14px; } | |
body>h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child { margin-top: 0; padding-top: 0; } | |
a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 { margin-top: 0; padding-top: 0; } | |
h1+p, h2+p, h3+p, h4+p, h5+p, h6+p { margin-top: 10px; } | |
/* LINKS | |
=============================================================================*/ | |
a { color: #4183C4; text-decoration: none; } | |
a:hover { text-decoration: underline; } | |
/* LISTS | |
=============================================================================*/ | |
ul, ol { padding-left: 30px; } | |
ul li > :first-child, | |
ol li > :first-child, | |
ul li ul:first-of-type, | |
ol li ol:first-of-type, | |
ul li ol:first-of-type, | |
ol li ul:first-of-type { margin-top: 0px; } | |
ul ul, ul ol, ol ol, ol ul { margin-bottom: 0; } | |
dl { padding: 0; } | |
dl dt { font-size: 14px; font-weight: bold; font-style: italic; padding: 0; margin: 15px 0 5px; } | |
dl dt:first-child { padding: 0; } | |
dl dt>:first-child { margin-top: 0px; } | |
dl dt>:last-child { margin-bottom: 0px; } | |
dl dd { margin: 0 0 15px; padding: 0 15px; } | |
dl dd>:first-child { margin-top: 0px; } | |
dl dd>:last-child { margin-bottom: 0px; } | |
/* CODE | |
=============================================================================*/ | |
pre, code, tt { font-size: 12px; font-family: Consolas, "Liberation Mono", Courier, monospace; } | |
code, tt { margin: 0 0px; padding: 0px 0px; white-space: nowrap; border: 1px solid #eaeaea; background-color: #f8f8f8; border-radius: 3px; } | |
pre>code { margin: 0; padding: 0; white-space: pre; border: none; background: transparent; } | |
pre { background-color: #f8f8f8; border: 1px solid #ccc; font-size: 13px; line-height: 1.33; overflow: auto; padding: 6px 10px; border-radius: 3px; } | |
pre code, pre tt { background-color: transparent; border: none; } | |
/* QUOTES | |
=============================================================================*/ | |
blockquote { border-left: 4px solid #DDD; padding: 0 15px; color: #777; } | |
blockquote>:first-child { margin-top: 0px; } | |
blockquote>:last-child { margin-bottom: 0px; } | |
/* HORIZONTAL RULES | |
=============================================================================*/ | |
hr { clear: both; margin: 15px 0; height: 0px; overflow: hidden; border: none; background: transparent; border-bottom: 4px solid #ddd; padding: 0; } | |
/* TABLES | |
=============================================================================*/ | |
tr { border-top: 1px solid #ccc; background-color: #fff; } | |
tr:nth-child(2n) { background-color: #f8f8f8; } | |
th, td { border: 1px solid #ccc; padding: 6px 13px; } | |
th { font-weight: bold; } | |
/* IMAGES | |
=============================================================================*/ | |
img { max-width: 100%; } | |
</style> | |
</head> | |
<body> | |
<?php echo $html; ?> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; Markdown | |
(load-library "markdown-mode") | |
(load-library "markdown-misc") | |
(push '("\\.md$" . markdown-mode) *auto-mode-alist*) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment