mirror of
https://github.com/there4/markdown-resume.git
synced 2024-12-03 08:59:35 -05:00
Add comments to build script, make command line relative to current path and require resume/ in --source path.
This commit is contained in:
parent
0edf7ef5fa
commit
cea267adac
19
.gitignore
vendored
19
.gitignore
vendored
@ -1,16 +1,3 @@
|
|||||||
|
resume/_*.md
|
||||||
output/resume-pdf.html
|
output/*.html
|
||||||
|
output/*.pdf
|
||||||
assets/templates/default.html
|
|
||||||
|
|
||||||
output/resume.pdf
|
|
||||||
|
|
||||||
output/resume.html
|
|
||||||
|
|
||||||
resume/craig.md
|
|
||||||
|
|
||||||
output/craig-pdf.html
|
|
||||||
|
|
||||||
output/craig.html
|
|
||||||
|
|
||||||
output/craig.pdf
|
|
||||||
|
12
README.md
12
README.md
@ -12,15 +12,15 @@ Turn a simple Markdown document into an elegant resume.
|
|||||||
|
|
||||||
## Quickstart
|
## Quickstart
|
||||||
|
|
||||||
php ./build/build.php --source sample.md
|
php ./build/build.php --source resume/sample.md
|
||||||
php ./build/build.php --source sample.md --pdf
|
php ./build/build.php --source resume/sample.md --pdf
|
||||||
|
|
||||||
## Options
|
## Options
|
||||||
|
|
||||||
If you want to edit your markdown resume in your editor while watching it
|
If you want to edit your markdown resume in your editor while watching it
|
||||||
update in your browser, run this command:
|
update in your browser, run this command:
|
||||||
|
|
||||||
watch php ./build/build.php -s sample.md -r
|
watch php ./build/build.php -s resume/sample.md -r
|
||||||
|
|
||||||
This makes the build script run periodically, and html document will refresh
|
This makes the build script run periodically, and html document will refresh
|
||||||
every two seconds. Open the `./ouput/sample.html` file in your browser, and
|
every two seconds. Open the `./ouput/sample.html` file in your browser, and
|
||||||
@ -43,6 +43,8 @@ on descendant and adjacent selectors.
|
|||||||
|
|
||||||
## Acknowledgments
|
## Acknowledgments
|
||||||
|
|
||||||
The initial inspiration is from the [Sample Resume Template](http://sampleresumetemplate.net/).
|
The initial inspiration is from the [Sample Resume Template][srt].
|
||||||
However, no HTML from that project has been used in this. General layout has been reused, and media queries
|
However, no HTML from that project has been used in this. General layout has been reused, and media queries
|
||||||
have been added. It's a nice template, and if you are a more comfortable with html than markdown, you should use it.
|
have been added. It's a nice template, and if you are a more comfortable with html than markdown, you should use it.
|
||||||
|
|
||||||
|
[srt]: http://sampleresumetemplate.net/ "A great starting point"
|
||||||
|
@ -22,41 +22,41 @@ include_once APPLICATION_BASE_PATH . '/vendor/markdown-extra/markdown.php';
|
|||||||
include_once APPLICATION_BASE_PATH . '/vendor/lessphp/lessc.inc.php';
|
include_once APPLICATION_BASE_PATH . '/vendor/lessphp/lessc.inc.php';
|
||||||
include_once APPLICATION_BASE_PATH . '/vendor/simpledom/simple_html_dom.php';
|
include_once APPLICATION_BASE_PATH . '/vendor/simpledom/simple_html_dom.php';
|
||||||
|
|
||||||
|
|
||||||
use Assetic\Asset\AssetCollection;
|
use Assetic\Asset\AssetCollection;
|
||||||
use Assetic\Asset\FileAsset;
|
use Assetic\Asset\FileAsset;
|
||||||
use Assetic\Asset\GlobAsset;
|
use Assetic\Asset\GlobAsset;
|
||||||
use Assetic\Filter;
|
use Assetic\Filter;
|
||||||
|
|
||||||
$shortopts = "";
|
// Setup the command line options
|
||||||
$shortopts .= "s:";
|
$shortopts
|
||||||
$shortopts .= "rp";
|
= "s:" // source
|
||||||
|
. "r" // refresh
|
||||||
|
. "p"; // pdf output
|
||||||
|
|
||||||
$longopts = array(
|
$longopts = array(
|
||||||
"source:",
|
"source:",
|
||||||
"refresh",
|
"refresh",
|
||||||
"pdf"
|
"pdf"
|
||||||
);
|
);
|
||||||
|
|
||||||
$options = getopt($shortopts, $longopts);
|
$options = getopt($shortopts, $longopts);
|
||||||
|
|
||||||
// Combine the options to their shorter names
|
// Combine the options to their shorter names
|
||||||
if (empty($options['s']) && !empty($options['source'])) {
|
if (empty($options['s']) && !empty($options['source'])) {
|
||||||
$options['s'] = $options['source'];
|
$options['s'] = $options['source'];
|
||||||
}
|
}
|
||||||
|
$refresh_dev = isset($options['r']) || isset($options['refresh']);
|
||||||
|
|
||||||
if (!isset($options['s'])) {
|
if (!isset($options['s'])) {
|
||||||
exit('Please specify a source document build.php -s resume.pdf');
|
exit("Please specify a source document: build.php -s resume/resume.pdf\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
$basename = pathinfo($options['s'], PATHINFO_FILENAME);
|
$basename = pathinfo($options['s'], PATHINFO_FILENAME);
|
||||||
$source = './resume/' . $options['s'];
|
$source = './' . $options['s'];
|
||||||
$pdf_source = './output/' . $basename . '-pdf.html';
|
$pdf_source = './output/' . $basename . '-pdf.html';
|
||||||
$output = './output/' . $basename . '.html';
|
$output = './output/' . $basename . '.html';
|
||||||
$pdf_output = './output/' . $basename . '.pdf';
|
$pdf_output = './output/' . $basename . '.pdf';
|
||||||
|
|
||||||
|
|
||||||
$refresh_dev = isset($options['r']) || isset($options['refresh']);
|
|
||||||
|
|
||||||
$css = new AssetCollection(
|
$css = new AssetCollection(
|
||||||
array(
|
array(
|
||||||
new GlobAsset(APPLICATION_BASE_PATH . '/assets/css/*.css')
|
new GlobAsset(APPLICATION_BASE_PATH . '/assets/css/*.css')
|
||||||
@ -70,16 +70,18 @@ $style = $css->dump();
|
|||||||
$template = file_get_contents(APPLICATION_BASE_PATH . '/assets/templates/default.html');
|
$template = file_get_contents(APPLICATION_BASE_PATH . '/assets/templates/default.html');
|
||||||
$resume = file_get_contents($source);
|
$resume = file_get_contents($source);
|
||||||
|
|
||||||
$resume = Markdown($resume);
|
// Process with Markdown, and then use SmartyPants to clean up punctuation.
|
||||||
$resume = SmartyPants($resume);
|
$resume = SmartyPants(Markdown($resume));
|
||||||
|
|
||||||
|
// We'll construct the title for the html document from the h1 and h2 tags
|
||||||
$html = str_get_html($resume);
|
$html = str_get_html($resume);
|
||||||
$title = sprintf(
|
$title = sprintf(
|
||||||
'%s | %s',
|
'%s | %s',
|
||||||
$html->find('h1', 0)->innertext,
|
$html->find('h1', 0)->innertext,
|
||||||
$html->find('h2', 0)->innertext
|
$html->find('h2', 0)->innertext
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// We'll now render the Markdown into an html file with Mustache Templates
|
||||||
$m = new Mustache;
|
$m = new Mustache;
|
||||||
$rendered = $m->render(
|
$rendered = $m->render(
|
||||||
$template,
|
$template,
|
||||||
@ -91,36 +93,41 @@ $rendered = $m->render(
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Save the fully rendered html to the final destination
|
||||||
file_put_contents(
|
file_put_contents(
|
||||||
$output,
|
$output,
|
||||||
$rendered
|
$rendered
|
||||||
);
|
);
|
||||||
echo "Wrote html to $output\n";
|
echo "Wrote html to $output\n";
|
||||||
|
|
||||||
|
// If the user wants to make a pdf file, we'll use wkhtmltopdf to convert
|
||||||
$pdf_classed = str_replace(
|
// the html document into a nice looking pdf.
|
||||||
'body class=""',
|
|
||||||
'body class="pdf"',
|
|
||||||
$rendered
|
|
||||||
);
|
|
||||||
|
|
||||||
if (isset($options['pdf'])) {
|
if (isset($options['pdf'])) {
|
||||||
|
|
||||||
|
// The pdf needs some extra css rules, and so we'll add them here
|
||||||
|
// to our html document
|
||||||
|
$pdf_classed = str_replace(
|
||||||
|
'body class=""',
|
||||||
|
'body class="pdf"',
|
||||||
|
$rendered
|
||||||
|
);
|
||||||
|
|
||||||
|
// Save the new pdf-ready html to a temp destination
|
||||||
file_put_contents(
|
file_put_contents(
|
||||||
$pdf_source,
|
$pdf_source,
|
||||||
$pdf_classed
|
$pdf_classed
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Process the document with wkhtmltopdf
|
||||||
exec(
|
exec(
|
||||||
'wkhtmltopdf '
|
'wkhtmltopdf '
|
||||||
. $pdf_source .' '
|
. $pdf_source .' '
|
||||||
. $pdf_output
|
. $pdf_output
|
||||||
. ' && open ' . $pdf_output
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Unlink the temporary file
|
||||||
unlink($pdf_source);
|
unlink($pdf_source);
|
||||||
echo "Wrote pdf to $pdf_output\n";
|
echo "Wrote pdf to $pdf_output\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* End of file build.php */
|
||||||
|
|
||||||
/* End of file build.php */
|
|
||||||
|
2784
vendor/simpledom/simple_html_dom.php
vendored
2784
vendor/simpledom/simple_html_dom.php
vendored
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user