티스토리 뷰

matlab

티스토리에 매트랩 코드 쓰기

게으른 the lazy 2022. 12. 13. 19:27

 

티스토리에 매트랩 코드를 올리는 방법을 조사해봤습니다. 결론부터 얘기하자면, gistcolorscripter가 제일 깔끔하다고 생각됩니다. 좀 안 이뻐도 간단하게 올리려면 티스토리 자체 코드블럭 기능을 쓰면됩니다. html나 css를 알아야 쓸 수 있는 방법들은 배제했습니다. 왜냐면 제가 할 줄 모르거든요(...).

 


 

1. 캡쳐 or 파일 올리기

sample_code.m
0.00MB

 

방법: 그냥 캡쳐해서 붙여넣는다. 또는 파일 첨부한다.

 

장점: 제일 쉽다. 파일로 받을 수도 있다.

단점: 이럴거면 이 글을 쓸 이유가 없다(...).

 


 

2. 티스토리 자체 코드블럭 기능

% 10줄짜리 코드에 최대한 다양한 키워드를 담으려고 고민한 코드
while true
    name = input('Type your nickname: ', 's');
    if ~isempty(name)
        break
    end
end
greeting(name)
disp('This is an extremely long line which is intentional to test how a long line like this is displayed in the blog. How many characters do I have to put in this line to test the horizontal scroll? I have no idea.')

function greeting(name)
fprintf('Hello, %s!\n', name)
end

 

방법: 글쓰기 모드에서 상단메뉴 더보기-코드블럭

 

장점: 티스토리 내장 기능이다. 긴 줄 횡스크롤이 된다.

단점: 매트랩을 지원하지 않는다. 키워드를 인식하지 못한다. 색깔이 안 이쁘다. 폰트도 안 이쁘다.

 


 

3. 매트랩에서 바로 복붙

% 10줄짜리 코드에 최대한 다양한 키워드를 담으려고 고민한 코드
while true
name = input('Type your nickname: ', 's');
if ~isempty(name)
break
end
end
greeting(name)
disp('This is an extremely long line which is intentional to test how a long line like this is displayed in the blog. How many characters do I have to put in this line to test the horizontal scroll? I have no idea.')
 
function greeting(name)
fprintf('Hello, %s!\n', name)
end

 

방법: 매트랩에서 복사하고, 글쓰기 모드 상단메뉴에서 1칸짜리 테이블을 만들고 바로 붙여넣는다.

 

장점: 캡쳐를 제외하고는 제일 간단하다. 코드 컬러가 보존된다.

단점: 들여쓰기가 없어진다. 줄이 길어지면 강제개행이다. 여전히 안 이쁘다. 폰트도 안 이쁘다.

 

참고: MATLAB Schemer를 이용하면 매트랩의 color scheme을 바꿀 수 있다. 그런데 보이기만 그렇게 보일 뿐, 실제 메타데이터까지 바뀌는 건 아닌 것 같다. Color scheme을 바꾸고 티스토리에 붙여보면 default color scheme으로 붙는다.

 


 

4. gist

 

 

 

방법: https://gist.github.com에 가서 코드를 작성하고 티스토리 본문에 embed한다.

 

장점: 코드를 수정할 일이 있으면 https://gist.github.com에서만 바꾸면 된다. 괜히 있어보인다(중요).

단점: 코드 컬러가 이상하다. 확장자에 따라 알아서 맞춰준다는데, 매트랩을 지원 안하는건지 모든 언어가 다 이상한 건지 모르겠다. 검색해보니까 언어가 달라도 코드 컬러링이 모두 똑같다. 그리고 의외로 횡스크롤이 안된다. 그리고 gist에서 파일을 지우면 블로그에서도 지워진다. 말하자면 양날의 검인 셈.

 

참고: 코드 컬러를 customize 할 방법이 있기는 한 것 같은데, 뭔가 어려워보인다. 링크는 아래에. 도와줘요 고수분들!

https://writenowdesign.com/blog/wordpress/github-gists-custom-syntax-highlighting/

https://gist.github.com/mladoux/4be8f4c4780aba0304f791a863e2df51

https://github.com/StylishThemes/GitHub-Dark/issues/197

https://codersblock.com/blog/customizing-github-gists/

https://gist.github.com/romainl/379904f91fa40533175dfaec4c833f2f

 


 

5. Publish 하고 필요한 부분만 가져오기

방법: 매트랩에서 Publish 하고 html을 열어서 필요한 부분만 가져와서 티스토리에 붙인다.

 

장점: 티스토리의 HTML 모드를 열고 붙이고 바로 저장하면 아래와 같이 깔끔하게 붙는다.

 

단점: HTML 모드에서 기본모드로 들어가는 순간 html이 모두 초기화된다(...). 그래서 아래처럼 되어버린다. 위 상태를 유지하려면 html 모드를 유지한 채로 모두 작성해야 하는 것 같다.

 

참고: pygments, highlight code, hilite.me도 코드 컬러를 심은 html 코드를 만들어주는 곳인데, 상기한 것과 같은 문제가 발생한다. 티스토리 에디터에서 자동으로 인식 및 강제변환 시키는 것 같다.

 


 

6. Color Scripter

1
2
3
4
5
6
7
8
9
10
11
12
% 10줄짜리 코드에 최대한 다양한 키워드를 담으려고 고민한 코드
while true
    name = input('Type your nickname: ''s');
    if ~isempty(name)
        break
    end
end
greeting(name)
disp('This is an extremely long line which is intentional to test how a long line like this is displayed in the blog. How many characters do I have to put in this line to test the horizontal scroll? I have no idea.')
function greeting(name)
fprintf('Hello, %s!\n', name)
end
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
% 10줄짜리 코드에 최대한 다양한 키워드를 담으려고 고민한 코드
while true
    name = input('Type your nickname: ''s');
    if ~isempty(name)
        break
    end
end
greeting(name)
disp('This is an extremely long line which is intentional to test how a long line like this is displayed in the blog. How many characters do I have to put in this line to test the horizontal scroll? I have no idea.')
function greeting(name)
fprintf('Hello, %s!\n', name)
end
cs

 

방법: https://colorscripter.com/로 가서 코드를 작성하고 HTML로 복사해서 티스토리에 embed 한다.

 

장점1: 다크모드가 된다. 티스토리 자체 코드블럭도 다크모드가 되긴 하지만 플러그인 자체를 수정하는 거라 블로그 내 모든 코드가 영향을 받는다. Color Scripter는 코드마다 다크/라이트를 설정할 수 있다.

장점2: 확장스토어에서 언어팩을 직접 만들 수 있다! 실제로 위 코드는 lazymatlab이라는 언어팩을 만들어서 적용한 거다.

단점: 스타일패키지도 만들 수 있는데, 이유는 모르겠지만 적용이 안된다. 그리고 언어팩 만들 때 주석으로 %를 적용할 수 없다. (참고: 매트랩의 키워드)

 


 

7. carbon

 

 

방법: https://carbon.now.sh으로 가서 코드를 작성하고 옵션을 적당히 조절한 후, 상단에서 html을 복사하여 티스토리에 붙인다. 단 width와 height는 직접 조절해줘야 한다.

 

장점: 일단 Matlab이 있긴 하다. 위 그림을 보면 알겠지만 맥 감성이다.(중요..?)

단점: 이런 코드 컬러를 쓸거면 언어에 매트랩은 왜 있나 모르겠다(...). 맥 감성이라는 것 외에는 gist나 Color Scripter보다 나을 게 없다. 횡스크롤도 안된다.

 


 

8. 티스토리를 포기한다. (...)

8-1. 깃헙에 쓴다.

방법:

마크다운에 이렇게 쓰면

이렇게 표시된다.

 

장점: 깃헙이다. 있어보인다.(중요)

단점: 실제 매트랩 코드 컬러와는 안 맞다. for와 end를 보면 키워드는 인식하는 것 같은데... 방법이 있을 것 같긴 한데 찾아보기 귀찮다.

 

참고: tex로 쓸 수도 있나보다.

 

8-2. 노션에 쓴다.

 

방법: 노션에서 code 블럭을 열고 코드를 쓴다. (참고: 노션 문서 작성 팁)

 

장점: 매트랩을 공식적으로 지원한다! 심지어 해당 코드의 링크를 따서 다른 데에 붙일 수 있다.

https://www.notion.so/keizikang/sample-matlab-code-e0f4038bdb5f4132a5742ae4b74de792#17ad16e6aca849ec9677547a0be1f86c

단점: embed까지 됐으면 완벽했을텐데 조금 아쉽다. (방법이 없는건 아닌데 딱히 마음에 드는 방법들이 아니다.)

 

8-3. Wordpress에 쓴다.

코드가 매트랩스럽게 이쁘게 올라가는지 확인해본 것은 아니지만, publish를 자동화할 수 있다는 글이 있어서 참고사항으로 올려본다.

 


 

9. 지원 중단 또는 html, css 필요

9-1. repl.it

놀랍게도 octave를 지원한다. 다만 embed 기능은 보안 이슈로 막혔다. 수정은 안되더라도 read-only는 되어야 할 것 같은데, 이상하게 티스토리에서는 제대로 표시되지 않는다. 그래도 새 창/새 탭으로 열기는 된다.

 

 

9-2. syntaxhighlighter

지원이 중단된건지, 블로그들에서 알려주는 소스에는 파일이 없어져 있다. 블로그에 올라가 있는 파일은 받을 수 있긴 한데, 내가 쓸 줄 모르는건지, 시키는 대로 해봤는데 잘 되지 않는다.

 

참고한 곳들

https://gyuha.tistory.com/193
https://elgar328.tistory.com/11
https://goddaehee.tistory.com/172
https://sfixer.tistory.com/89
https://blog.soobinpark.com/147

https://kwonkyo.tistory.com/143

 

 

9-3. highlight.js

역시 시키는 대로 해봤는데 잘 되지 않는다.

 

참고한 곳들

https://donologue.tistory.com/366
https://notice.tistory.com/2483
https://kwonkyo.tistory.com/143

 


 

지금까지 티스토리 블로그에 매트랩 코드를 올리는 방법들에 대해 적어보았습니다. 정리하자면,

● 깔끔하고 있어보이게: gistcolorscripter

● 심플하게 빠르게: 티스토리 자체 코드블럭

이렇게 세 가지를 추천합니다.

 

긴 글 읽어주셔서 고맙습니다.

 

 

- 게으른

 

'matlab' 카테고리의 다른 글

AYE, AYE3d  (0) 2023.01.26
ButtonDownFcn과 SelectionType의 활용  (0) 2022.12.25
e의 값을 찾아보자.  (0) 2022.11.26
수분부족이라고?  (2) 2022.10.13
매트랩 레이아웃을 command로 저장/불러오기  (0) 2022.07.23
댓글