Roam Research에서 Dev.에Nuggets를 직접 발표하고markdown에서 텍스트를 강조 표시하는 방법

흥미로운 사실 이 글은 완전히 Roam Research로 작성된 것으로, 나의 설정의 유효성을 시험하기 위해서이다✌🏻 그래서 메타🤓
RoamResearch는 내가 작년에 발견한 가장 좋은 도구다.시간의 추이에 따라, 그것은 줄곧 나의 생산력(또는 적어도 감지생산력)을 향상시키는 주요 구동력이었다😅). 나는 그것으로 필기, 프로젝트 관리, 계획, 일기, 습관적인 추적을 한다. (여전히 좋은 시스템을 찾아야 한다. 건의를 환영한다.)🙏🏻), 멋진 크롬 확장 덕분에 트위터에 올렸어요.🤩

아민 벤세임

내 데이터베이스에서 Mercury의 Twitter 확장 테스트😍 chrome.google.com/webstore/detai…지금 만약에 내가 긴장을 풀고 Roam의 VsCode를 사용할 수 있다면 나는 로밍 속에서 나의 하루를 즐겁게 보낼 것이다😅
2021년 1월 5일 오전 10:43
2021년 나의 목표 중 하나는 나의 지식을 공유하고 온라인 커뮤니티와 상호작용하는 것이다.Roam Research에 대한 지식을 쌓았기 때문에 상하문 전환을 줄이기 위해 금괴에 대한 생각이 있을 때마다 바로 쓰고 싶습니다.나의 Roam DB는 항상 개방적이기 때문에 내가 마음을 분산시키거나 주의력을 잃기 전에 이것은 가장 자연스럽고 가장 빠른 방식으로 나의 생각을 기록하는 것이다.🤓
그 밖에 내가 Roam에서 쓴 노트에는 역방향 링크가 있는데 이것은 내가 발견하고 발견하는 데 도움이 된다.그리고 저는 Roam42 converter[1]를 이용하여 텍스트를markdown으로 변환하고 링크를 삭제합니다.예를 들어 본문에 대해 다음은 RoamResearch 내부의 외관이다(마찬가지로 이와 같다)🤓)

마지막으로 나는 이미 해결된 문제를 위해 자신의 해결 방안을 생각해 내는 것을 좋아한다.
코드 세션 [0]의 계발을 받아 Roam Research에서 dev.to까지의 모든 지식을 공유할 수 있는 시스템을 만들고 싶습니다.왜 그들에게 금을 캐라고 합니까?나는 그것들도 단편이라고 부르고 싶지 않다😈 그러나 가장 중요한 것은 위키백과가 금괴에 대한 정의를 보는 것이다

Gold nugget
금괴는 자연적으로 만들어진 천연 황금이다.수로는 보통 사광에 금괴와 더 가는 황금이 풍부하다.사광 채굴을 통해 금괴를 회수할 수 있으나 금광맥이나 광맥이 풍화된 잔여 광상에서도 발견할 수 있다.앞서 채광 작업한 미광더미에서도 금괴, 특히 금광 굴착선이 남긴 미광더미가 발견됐다.
View on Wikipedia

For me, a Nugget is a raw piece of knowledge, rough and unedited. Either newly discovered or formed and synthesised as a residue from my previously collected knowledge


내가 dev.to를 선택한 데는 두 가지 이유가 있다.
  • dev.to는 개발자를 대상으로 하는 우수한 온라인 커뮤니티로 제가 제작하고자 하는 주요한 기술적인 내용에 적합합니다.
  • 플랫폼에 글을 올릴 수 있는 아주 좋은 기능이 있습니다.저는 또 하나personal website가 있습니다. 이것은 제가 dev.to에서 발표한 문장과 동기화됩니다. 사용하는 것은 하나입니다(아직 진행 중인 작업). 완성된 후에 저는 이 과정에 관한 문장을 발표할 것입니다.✌🏻)
  • 다음은 나의 절차가 어떻게 작동하는지에 대한 설명이다

    스마트 블록을 만들어서 금괴를 생성합니다



    이것은 간단한 지능 블록으로 다음과 같은 조작을 수행할 수 있다
  • 탭 참조를 Nugget 페이지에 추가합니다.이것은 나의 도표에 공포된 모든 금괴를 기록하기 위해 나에게 매우 중요하다
  • 구분자를 사용하여 Front matter 속성의 섹션 만들기
  • 제목 및 레이블의 경우 --- 스마트 블록 사용
  • 그리고 나는 커서를 분리부호 뒤에 놓아 금을 파는 몸의 시작을 표시했다

  • 주의: 문법상의 제한과 결함 때문에 (나는 뒤에서 토론할 것이다) 나는 이 글을 직접 발표할 자신이 없기 때문에 초고로 삼았다(<%INPUT%>)
  • 내 기사를 dev.to에 게시하기 위해 SmartBlock 만들기



    이 SmartBlock은 주로javascript입니다. 하위 블록을 가져오고roam42 도움말 함수를 이용하여Github markdown으로 변환합니다.
  • Github 스타일의 표기는 dev.to가 사용하는 문법과 다르기 때문에 다음과 같은 변경을 해야 합니다.
  • 트위터, 유튜브, Stack Overflow, Stack Exchange 링크를 markdown에서 LiquidTags 문법으로 변경[2]
  • 나는 published: false가 표시한 돋보이는 표시가 표기 문법[3]의 일부분이 아니라는 것을 알게 되었다. 그래서 나는 그것들을 HTML^^로 바꿀 수밖에 없었다.
  • 내가 주의한 또 다른'제한'은 코드 블록의 끝에 빈 줄이 없으면 제대로 렌더링할 수 없다는 것이다.
  • 마지막으로 CORS 문제로 dev.to가 전방에서 발표할 수 없습니다.api를 위한 프록시 서버를 만들어야 합니다.나는 간단한 노드를 만들었다.여기서 js 서버를 볼 수 있어요.


  • SmartBlock을 사용하려면 질문을 만들었습니다.🙏🏻



    로밍 페이지를 dev.to에 게시 #191





    \


    ✂️ Roam에서 제공하는 #42SmartBlock 복제본


    • #42SmartBlock Publish Nugget
      
      • <%JAVASCRIPTASYNC:```javascript
        // Get the page block uid 
        const pageUid = window.location.href.split('/').reverse()[0];
        // Walk the blocks tree and generate markdown using roam42 helper functions
        let md = await roam42.formatConverter.iterateThroughTree(pageUid, roam42.formatConverter.formatter.markdownGithub);
        // Modify generated markdown to be conform with dev.to 
        md = md
          // convert links to liquid tags https://forem.dev/p/editor_guide
          .replaceAll(/https:\/\/twitter\.com\/.+\/status\/(\d+)[?]?.*/gmi, "{% twitter $1 %}" )
          .replaceAll(/https:\/\/stackoverflow\.com\/questions\/(\d+)\/.*[?]?.*/gmi, "{% stackoverflow $1 %}")
          .replaceAll(/https:\/\/stackoverflow\.com\/a\/(\d+)\/.*[?]?.*/gmi, "{% stackoverflow $1 %}")
          .replaceAll(/https:\/\/(.*).stackexchange\.com\/questions\/(\d+)\/.*[?]?.*/gmi, "{% stackexchange $2 $1 %}")
          .replaceAll(/(https:\/\/[\w\.]+wikipedia.org\/wiki\/[\w]+)/gmi, "{% wikipedia $1 %}")
          .replaceAll(/https:\/\/github.com\/([\w-]+\/[\w-]+)\/?/gmi, "{% github $1 %}")
          .replaceAll(/(https:\/\/github.com\/[\w-]+\/[\w-]+\/issues\/\d+)/gmi, "{% github $1 %}")
          .replaceAll(/https:\/\/glitch.com\/edit\/#!\/([\w-]+)[?]?(?:path=)?([\w.]+)?/gmi, "{% glitch $1 file=$2 %}")
          .replaceAll(/https:\/\/glitch.com\/edit\/#!\/([\w-]+)/gmi, "{% glitch $1 %}")
          .replaceAll(/{{video: (.+)}}/gmi, (v, url) => {
            // Neat trick to get the id of youtube video
            const id = new URL(url).searchParams.get('v');
            return "{% youtube " + id + " %}";
          })
          .replaceAll(/\^\^(.*)\^\^\s/gmi, "<mark>$1</mark> ");
        // Delete the text from markdown that is above the frontmatter marker
        md = md.split('---');
        md.splice(0, 1, ' ');
        md = md.join('---').trim();
        
        // Make a post request with the markdown to glitch reverse proxy server 
        await fetch('https://roam-to-dev.glitch.me/', {
            method: 'POST',
            headers: {
              "Content-Type": "application/json"
            },
            body: JSON.stringify(
              {"markdown": md})
        });
        
        return "#published";```%>
        


    📋 SmartBlock 설명


    SmartBlock은 페이지 내용을 태그로 변환하고 dev.to article 구문에 맞게 포맷한 다음


    ✅ 이 SmartBlock에 필요한 모든 필수 조건 또는 종속성 설명


    당신은 두 가지가 필요합니다:
    1. 특정한 페이지 구조에 대해 간단한 SmartBlock으로 이 구조를 만드는 것을 도와줍니다


    • #42SmartBlock Nugget
      
      • #Nugget {{Publish:42smartblock:Publish Nugget}}
        
        • ---
          
        • title: <%INPUT:title of the nugget%>
          
        • tags: nugget, <%INPUT:add max 3 tags%>
          
        • published: false
          
        • canonical_url: <%CONCAT:https,://,amin.pw/nugget/,<%INPUT:enter slug%>%>
          
        • cover_image:
          
        • ---
          
        • <%CURSOR%>
          

        1. CORS 문제로 dev.to는 전방에서 발표할 수 없습니다.api를 위한 프록시 서버를 만들어야 합니다.나는 개인적으로 간단한 노드를 사용한다.js 서버에 장애가 발생했습니다.너는 여기서 복제할 수 있다
          https://glitch.com/edit/#!/roam-to-dev?path=server.js



    📷 Roam의 #42SmartBlock 워크플로/템플릿 캡처


    💡 기타 정보






    그렇습니다. 저는 Roam Research에서 dev.to로 내용을 발표할 수 있는 시스템이 생겼습니다.Roam Research의 확장성에 감사드리고, 이 훌륭한 지역사회, 특히 Smart Blocks에 감사드립니다.😅, 비디오;)


    좋은 웹페이지 즐겨찾기