21년 10월부터 Github서도 Markdown 각주를 지원한다. 사용 방법도 간단하다. 각주를 달고 싶은 문장에 대괄호를 열고 [^번호|제목]
형태로 입력하면 된다. ex) [^1]
[^memo]
각주 제목은 영어만 지원하는 듯 하다. 프리뷰 화면에선 제목으로 입력했어도 항상 번호로 나온다. 아쉽게도 각주에 마우스를 올리면 각주 설명이 보이는 툴팁 기능은 지원하지 않는다.
각주에 대한 설명은 [^번호|제목]: 설명
형태로 입력하면 된다. 각주 설명은 어디에 입력하든 상관없이 항상 하단에 위치하게 된다.
마크다운 프리뷰 화면에서 [^1]
각주를 클릭하면 하단에 있는 각주 설명으로 이동한다. 각주 설명에서 ↵
아이콘을 누르면 다시 해당 각주가 달려있는 문장으로 이동한다.
JavaScript는 클라이언트 단에서 웹 페이지가 동작하는 것을 담당한다.[^1]
그러나 JS는 당시 기준에서 무리한 추상화[^memo]를 시도했기 때문에 성능 문제가 많았다.
[^1]: 1번 각주에 대한 설명
[^memo]: memo 각주에 대한 설명
모질라 재단의 프로토타입 기반의 프로그래밍 언어로, 스크립트 언어에 해당된다. 특수한 목적이 아닌 이상 모든 웹 브라우저에 인터프리터가 내장되어 있다. 오늘날 HTML, CSS와 함께 웹을 구성하는 요소 중 하나다. HTML이 웹 페이지의 기본 구조를 담당하고, CSS가 디자인을 담당한다면 JavaScript는 클라이언트 단에서 웹 페이지가 동작하는 것을 담당한다[^1]. 웹 페이지를 자동차에 비유하자면, HTML은 자동차의 뼈대, CSS는 자동차의 외관, JavaScript는 자동차의 동력이라고 볼 수 있다.
JS는 본래 넷스케이프 서버에서 애플리케이션을 제작하기 위한 고수준 추상화 언어로 설계되어 LiveScript라는 이름으로 넷스케이프 내비게이터에 포함되었다. 그러나 JS는 당시 기준에서 무리한 추상화[^2]를 시도했기 때문에 성능 문제가 많았다. 게다가 마케팅 좀 해보자고 붙인 이름인 JS가 Java의 열화판이라는 느낌이라서 당시 개발자들 사이에서 이름으로 무시당했다.[^3] 여기에 더해서 그나마 클라이언트용 JS 엔진에 있던 시스템 자원 접근용 API[^memo]들이 보안사고의 원인이 되면서 삭제되는 과정에서, 별다른 보완 방법을 제시하지 못하는 등 한계가 여실했다.
[^1]: 이 때문에 동적인 홈페이지가 필요없다면 JavaScript는 안 써도 된다. 그러나 현대의 웬만한 홈페이지에는 동적인 요소가 들어가므로 거의 필수적으로 쓰이는 것이 현실.
[^2]: 1990년대 중반에 발표된 언어가 요즘 새롭게 나오는 언어들보다도 더 한 추상화를 자랑한다.
[^3]: 그때는 Java를 할 줄 알면 JS를 몰라도 깔 수 있었다. 이름으로...
[^memo]: 과거에는 브라우저의 JS 엔진이 파일 시스템 같은 자원에 접근할 수 있었다.
각주 프리뷰 화면