介紹
作為一個經常撰寫文章的 Obsidian 用戶,我發現手動將 Markdown 內容發佈到 DEV.to 非常耗時。為了簡化這個過程,我開發了一個 Python 腳本,可以自動執行直接發佈到 DEV.to 的過程。在本指南中,我將向您展示如何使用 Python 和 DEV.to API 來簡化您的文章發布工作流程。
先決條件
在我們深入研究程式碼之前,您需要以下內容:
• DEV API 金鑰:您可以透過登入您的 DEV 帳戶並導覽至 API 金鑰部分來產生此金鑰。
• 已安裝Python:確保您的系統上安裝了Python 3.x。
工作流程
我們將把這個過程分成三個步驟:
- 取得文章的Markdown內容。
- 準備並發送請求發布文章。
- 處理回覆以確認文章已發佈。
Python 腳本
以下是完整的 Python 腳本,用於自動將文章發佈到 DEV 的過程。
import webbrowser import requests import json # API headers including the DEV API key headers_dev = { "Content-Type": "application/json", "api-key": API_KEY, # Replace API_KEY with your actual DEV API key } # Function to read markdown content from a file def get_markdown_content(markdown_path): with open(markdown_path, 'r') as file: markdown_content = file.read() return markdown_content # Function to publish an article to DEV def publish_article_dev(markdown_content): # Set up the payload with article data article_payload = { "article": { "title": "Your Article Title Here", # Replace with the actual title "body_markdown": markdown_content, "published": False, } } # Make a POST request to DEV's API to publish the article response = requests.post( url='https://dev.to/api/articles', headers=headers_dev, data=json.dumps(article_payload) ) # Check if the request was successful if response.status_code == 201: print("Article published successfully!") print("Response:", response.json()) # Open the DEV dashboard in the browser webbrowser.open('https://dev.to/dashboard') else: print(f"Failed to publish article. Status code: {response.status_code}") print("Response:", response.json()) # Example usage: # Replace 'path_to_your_markdown_file.md' with the actual path to your markdown file markdown_content = get_markdown_content('path_to_your_markdown_file.md') publish_article_dev(markdown_content)
請記住,如果您設定已發布:True,則該文章將在 DEV 上即時發布並對公眾可見。如果您要將文章儲存為草稿以供日後編輯或審閱,請設定已發佈:False。這使您可以靈活地管理帖子。
在 DEV 文章的 body_markdown 中,您可以包含可選的 front Matter 部分,以為文章提供其他元資料。
此部分包含在內容開頭的 --- 內,可以包含標題、已發佈、標籤、日期、系列、canonical_url 和 cover_image 等欄位。
如果你使用像 Obsidian 這樣的 Markdown 編輯器,你可以使用 Cmd/Ctrl+ 快速插入這些屬性;為註解新增屬性。
這是我的 Obsidian 中屬性設定的快照:
結論
使用 Python 自動化向 DEV 發布文章的過程可以改變遊戲規則,特別是當您發布多篇文章或為團隊管理內容時。 DEV API 非常簡單,可以輕鬆整合到您現有的工作流程中。
透過此設置,您就可以開始在 DEV 上自動發布文章了。快樂編碼!
探索更多

劉盧卡
感謝您花時間與我一起探索與數據相關的見解。感謝您的參與。
?在 LinkedIn 上與我聯繫
以上是如何使用 Python 向 DEV 發布文章的詳細內容。更多資訊請關注PHP中文網其他相關文章!

pythonuseshybridapprace,ComminingCompilationTobyTecoDeAndInterpretation.1)codeiscompiledtoplatform-Indepententbybytecode.2)bytecodeisisterpretedbybythepbybythepythonvirtualmachine,增強效率和通用性。

theKeyDifferencesBetnewpython's“ for”和“ for”和“ loopsare:1)” for“ loopsareIdealForiteringSequenceSquencesSorkNowniterations,而2)”,而“ loopsareBetterforConterContinuingUntilacTientInditionIntionismetismetistismetistwithOutpredefinedInedIterations.un

在Python中,可以通過多種方法連接列表並管理重複元素:1)使用 運算符或extend()方法可以保留所有重複元素;2)轉換為集合再轉回列表可以去除所有重複元素,但會丟失原有順序;3)使用循環或列表推導式結合集合可以去除重複元素並保持原有順序。

fasteStmethodMethodMethodConcatenationInpythondependersonListsize:1)forsmalllists,operatorseffited.2)forlargerlists,list.extend.extend()orlistComprechensionfaster,withextendEffaster,withExtendEffers,withextend()withextend()是extextend()asmoremory-ememory-emmoremory-emmoremory-emmodifyinginglistsin-place-place-place。

toInSerteLementIntoApythonList,useAppend()toaddtotheend,insert()foreSpificPosition,andextend()formultiplelements.1)useappend()foraddingsingleitemstotheend.2)useAddingsingLeitemStotheend.2)useeapecificindex,toadapecificindex,toadaSpecificIndex,toadaSpecificIndex,blyit'ssssssslorist.3 toaddextext.3

pythonlistsareimplementedasdynamicarrays,notlinkedlists.1)他們areStoredIncoNtiguulMemoryBlocks,mayrequireRealLealLocationWhenAppendingItems,EmpactingPerformance.2)LinkesedlistSwoldOfferefeRefeRefeRefeRefficeInsertions/DeletionsButslowerIndexeDexedAccess,Lestpypytypypytypypytypy

pythonoffersFourmainMethodStoreMoveElement Fromalist:1)刪除(值)emovesthefirstoccurrenceofavalue,2)pop(index)emovesanderturnsanelementataSpecifiedIndex,3)delstatementremoveselemsbybybyselementbybyindexorslicebybyindexorslice,and 4)

toresolvea“ dermissionded”錯誤Whenrunningascript,跟隨台詞:1)CheckAndAdjustTheScript'Spermissions ofchmod xmyscript.shtomakeitexecutable.2)nesureThEseRethEserethescriptistriptocriptibationalocatiforecationAdirectorywherewhereyOuhaveWritePerMissionsyOuhaveWritePermissionsyYouHaveWritePermissions,susteSyAsyOURHomeRecretectory。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Atom編輯器mac版下載
最受歡迎的的開源編輯器