Skip to content

Instantly share code, notes, and snippets.

View agatan's full-sized avatar

Agata Naomichi agatan

View GitHub Profile
from pathlib import Path
from typing import Optional
import re
import html
import urllib.request
import markdownify
class Converter(markdownify.MarkdownConverter):
@agatan
agatan / hatena-mt-to-md.ts
Created July 11, 2021 12:56
はてなブログから export した MT ファイルを Markdown に変換する Deno スクリプト
import * as path from "https://deno.land/std@v0.100.0/path/mod.ts";
const content = await Deno.readTextFile(Deno.args[0]);
const outDir = Deno.args[1] || "output";
await Deno.mkdir(outDir, { recursive: true });
console.log(`Export to ${outDir}`);
const articles = content.split("AUTHOR: agtn").slice(1);
function parseArticle(
@agatan
agatan / export-from-qiita.ts
Created July 11, 2021 12:12
Qiita から記事を export する Deno スクリプト
import * as path from "https://deno.land/std@0.100.0/path/mod.ts";
import ky from "https://cdn.skypack.dev/ky?dts";
const outDir = Deno.args[0] || "output";
await Deno.mkdir(outDir, { recursive: true });
console.log(`Export to ${outDir}`);
const items = await (ky.get(
"https://qiita.com/api/v2/authenticated_user/items?page=1&per_page=100",
{
@agatan
agatan / timejump_example.go
Created December 17, 2017 09:30
Example of timejump
package main
import (
"fmt"
"time"
"github.com/agatan/timejump"
)
func F() {
@agatan
agatan / threads.rs
Created July 10, 2017 13:27
Use signal_notify with threads
extern crate signal_notify;
use signal_notify::{notify, Signal};
use std::thread;
fn main() {
let rx = notify(&[Signal::INT]);
thread::spawn(|| {
loop {
thread::sleep(::std::time::Duration::from_secs(10));
@agatan
agatan / gist:062060978386aa09c50c
Created June 14, 2015 13:19
qi error handling sample
#include <boost/config/warning_disable.hpp>
#include <boost/spirit/include/qi.hpp>
#include <boost/spirit/include/phoenix.hpp>
#include <boost/fusion/include/adapt_struct.hpp>
#include <boost/variant/recursive_variant.hpp>
#include <boost/spirit/home/support/iterators/line_pos_iterator.hpp>
#include <iostream>
#include <fstream>
#include <string>
#include <fstream>
#include <iterator>
#include <iostream>
#include <string>
#include <vector>
#include <boost/spirit/include/qi.hpp>
#include <boost/spirit/include/phoenix.hpp>
namespace qi = boost::spirit::qi;
for lib in $(llvm-config --libs)
do
echo $lib | sed -e "s/-l\(.*\)/#[link(name = \"\1\")]/"
done