Skip to content

Commit

Permalink
Merge pull request #45 from abap34/dev
Browse files Browse the repository at this point in the history
デフォルトの出力先を `{basename}.html` から 標準出力に変えた
  • Loading branch information
abap34 authored Oct 20, 2023
2 parents 32c8c2b + 2d797a6 commit f9b68a8
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 20 deletions.
26 changes: 13 additions & 13 deletions src/almo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,7 @@ int main(int argc, char* argv[]) {
std::string editor_theme = "ace/theme/xcode";
std::string syntax_theme = "github.min";
bool plot_graph = false;

// 出力ファイルのデフォルト値を設定。 .md -> .html に置き換える
std::string out_path = argv[1];
if (out_path.ends_with(".md")) {
out_path = out_path.substr(0, out_path.length() - 3) + ".html";
}
else {
throw InvalidCommandLineArgumentsError("不正な入力ファイルです。 .md 拡張子を持つファイルを入力してください。");
exit(1);
}
std::string out_path = "__stdout__";


for (int i = 2; i < argc; i++) {
Expand Down Expand Up @@ -59,7 +50,7 @@ int main(int argc, char* argv[]) {
}
std::cout << "使用法: almo <入力> [オプション]" << std::endl;
std::cout << "オプション:" << std::endl;
std::cout << " -o <出力> 出力ファイル名を指定します。デフォルトは入力ファイル名の拡張子を .html に変更したものです" << std::endl;
std::cout << " -o <出力> 出力ファイル名を指定します。 指定しない場合標準出力に出力されます" << std::endl;
std::cout << " -t <テーマ> テーマを指定します。デフォルトは light です。" << std::endl;
std::cout << " -c <CSS> CSSファイルを指定します。デフォルトは テーマに付属するものが使用されます。" << std::endl;
std::cout << " -e <テーマ> エディタのテーマを指定します。デフォルトは です。" << std::endl;
Expand Down Expand Up @@ -109,7 +100,7 @@ int main(int argc, char* argv[]) {
"\"ir\": " + ir + "\n"
"}\n";


std::cout << output << std::endl;
}

Expand All @@ -127,6 +118,15 @@ int main(int argc, char* argv[]) {

almo::meta_data = meta_data;

almo::render(ast, meta_data, out_path);
std::string result = almo::render(ast, meta_data);

if (out_path == "__stdout__") {
std::cout << result << std::endl;
}
else {
std::ofstream ofs(out_path);
ofs << result << std::endl;
}

return 0;
}
10 changes: 3 additions & 7 deletions src/render.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,19 +77,15 @@ namespace almo {
return output_html;
}

void render(Block ast, std::map<std::string, std::string> meta_data, std::string output_path) {
std::string render(Block ast, std::map<std::string, std::string> meta_data) {

std::string html_template = load_html_template(meta_data["css_setting"]);

std::string content = ast.render();

std::string output_html;
std::string output_html = replace_template(html_template, meta_data, content);

output_html = replace_template(html_template, meta_data, content);

std::ofstream output_file(output_path);
output_file << output_html;
output_file.close();
return output_html;
}

}

0 comments on commit f9b68a8

Please sign in to comment.