윈도우 10에서 RNDIS/Ethernet
Gadget 장치로 인식안 될 경우가 있다. 이 경우 알림창에 드라이버 설치 중이 나온 후 완료가 되지 않으며 일반 USB
장치로 인식된다. 해결 방법은 아래 링크에서 드라이버를 받은 후, 일반 USB 장치를 선택하여 수동으로 드라이버를
업데이트해야한다.
윈도우 10에서 RNDIS/Ethernet Gadget 장치로 인식안 될 경우가 있다. 이 경우 알림창에 드라이버 설치 중이 나온 후 완료가 되지 않으며 일반 USB 장치로 인식된다. 해결 방법은 아래 링크에서 드라이버를 받은 후, 일반 USB 장치를 선택하여 수동으로 드라이버를 업데이트해야한다.
직접 Table 태그를 사용하여 테이블을 구성하거나, Pandoc 툴 등을 사용하여 HTML을 생성하였을 경우, 만들어진 테이블은 스타일이 없기 때문에 너무 밋밋해보입니다. 그렇다고 단순하게 border="1" 이렇게 스타일을 줘버리면 HTML 기본의 보기에 아름답지 않은 경계선이 붙게 됩니다. 다음은 보기 좋은 Single Line 경계선을 추가하는 몇가지 스타일 샘플입니다.
티스토리 콘텐트 설정 중, ‘단락 앞뒤에 공백’ 옵션을 사용으로 하였을 경우, 테이블내 컨텐츠에도 공백이 적용되어 아래와 같이 행높이가 확장되어 보이게 됩니다. 필요에 따라 해당 옵션을 해제하거나, 테이블에 추가적인 행높이 스타일을(;height:xx) 사용하기 바랍니다.
# -*- coding: utf-8 -*-
#!/usr/bin/python
import sys
DOUBLE_BR_BEFORE_HEADER = True
STATUS_START = 0
STATUS_NONE = 1
STATUS_LIST = 2
STATUS_PRE = 3
STATUS_HEADER = 4
LINE_BR = "<p><br></p>\n"
def print_usage():
print("usage: python md_convert.py [option]")
print("Options:")
print("-i input-file : 지정된 입력 파일을 사용하여 변환을 하고 입력 파일을 덮어씁니다.")
print("-i input-file output-file : 지정된 입력 파일과 출력 파일을 사용하여 변환을 합니다.")
def is_ol_item(str):
pos = str.find(". ")
if pos == -1:
return False
return str[:pos].isdigit()
def go_convert(config):
filename_in = config["filename_in"]
filename_out = config["filename_in"]
if "filename_out" in config:
filename_out = config["filename_out"]
print("\nconverting %s.." % filename_in)
file_in = open(filename_in, 'r', encoding = "utf-8")
all_line = []
for line in file_in:
all_line.append(line)
file_in.close()
all_line_new = []
insidePre = False
status = STATUS_START
status_old = status
for line in all_line:
status_old = status
line_strip = line.lstrip()
if len(line_strip) > 0:
if insidePre:
if line_strip[:5] == "</pre":
insidePre = False
else:
if line_strip[:4] == "<pre":
insidePre = True
status = STATUS_PRE
elif line_strip[:1] == "-" or is_ol_item(line_strip):
status = STATUS_LIST
elif line_strip[:1] == "#":
status = STATUS_HEADER
else:
status = STATUS_NONE
if DOUBLE_BR_BEFORE_HEADER and status == STATUS_HEADER and status_old != STATUS_START:
all_line_new.append(LINE_BR)
if status_old == STATUS_NONE:
if status == STATUS_HEADER:
all_line_new.append(LINE_BR)
elif status_old == STATUS_HEADER:
if status == STATUS_NONE:
all_line_new.append(LINE_BR)
if status == STATUS_HEADER:
all_line_new.append(LINE_BR)
all_line_new.append(line)
file_out = open(filename_out, 'w', encoding = "utf-8")
for line in all_line_new:
file_out.write(line)
file_out.close()
print("end")
config = {}
if len(sys.argv) >= 2:
if sys.argv[1] == "-i":
if len(sys.argv) == 3:
config['filename_in'] = sys.argv[2]
go_convert(config)
else:
config['filename_in'] = sys.argv[2]
config['filename_out'] = sys.argv[3]
go_convert(config)
else:
print_usage()
else:
print_usage()
사용 방법
사용 방법: python md_convert.py [옵션]
옵션:
-i input-file : 지정된 입력 파일을 사용하여 변환을 하고 입력 파일을 덮어씁니다.
-i input-file output-file : 지정된 입력 파일과 출력 파일을 사용하여 변환을 합니다.
PS1. pre 태그 내에서 소스 코드에 html 관련 코드를 사용할 경우, 충돌이 나서 (특히 pre 태그 관련, 당연한가?) 소스내 모든 <와 >를 <와 >로 바꿔줄 수 밖에 없었습니다.
PS2. 추가 작업 후보 : 소스 md에 줄바꿈이 있을 때만 추가적인 줄바꿈 삽입