日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python实现GitBook工具

發(fā)布時(shí)間:2023/12/20 python 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python实现GitBook工具 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

寫在前面

本工具是通過Python腳本實(shí)現(xiàn) GitBook 自動(dòng) 生成 執(zhí)行 編譯 發(fā)布的功能

你可以在這里下載exe

使用

1. exe下載,并移動(dòng)位置

將exe文件放在你的gitbook文件夾中,或者放在空文件夾中

2. file.md

創(chuàng)建 名為file.md的文件,在你要寫book的目錄下

注意: 這里file.md文件名不可更改

3. 編輯文件內(nèi)容

類似這樣

01_JVM內(nèi)存與垃概述.md 02_如何看術(shù)與JVM.md 03_為什學(xué)習(xí)JVM.md 04_面課程特點(diǎn).md

4. 運(yùn)行

gitbook-tools-21.4.18.exe

gitbook-tools-21.4.23.exe

5. 執(zhí)行

1:生成md

運(yùn)行這條選項(xiàng)會(huì)根據(jù)file.md每行的文本生成對應(yīng)文件

并且在每個(gè)文件中自動(dòng)加入 一級標(biāo)題

現(xiàn)在就可以編寫主要內(nèi)容了

2: 轉(zhuǎn)換SUMMARY

執(zhí)行這條命令會(huì)根據(jù)file.md每行的文本生成

目錄格式的 SUMMARY.md

生成后的文件如下

如果你可以自己寫SUMMARY,這步可以忽略

3. 編譯build

這步相當(dāng)于

在終端直接敲

gitbook build

不同的是,如果你沒有README文件,會(huì)自動(dòng)創(chuàng)建

編譯后,會(huì)在當(dāng)前目錄生成_book
文件夾,里面為編譯后的HTML,可供發(fā)布或部署

4. git 指令

git add _book git commit -m\"Commit by gitbook tool!!!\" git push

這里 add 只是add了 _book 文件夾

commit的信息的固定的

push時(shí),如果是已經(jīng)clone下來自己的庫,能夠直接push

否則要先登錄

5. gitee pages

gitee pages 部署,這個(gè)update

只有g(shù)itee pro 會(huì)員才能夠 支持自動(dòng) 更新

但是這里可以通過py提供了一些代碼參考

先 tag一個(gè) TODO

環(huán)境

Python: 3.7

GitBook CLI version: 2.3.2

GitBook version: 3.2.3

Node.js v15.8.0

npm@7.10.0

Pycharm 2021.3

Pyinstaller

Gitee Pages

Gitbook 介紹

GitBook 是一個(gè)基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 來制作精美的電子書,GitBook 并非關(guān)于 Git 的教程。

Gitbook教程

安裝遇到的問題

實(shí)現(xiàn)功能

  • 生成md文件列表,通過讀取文件,創(chuàng)建md文件

  • 生成SUMMARY.md 替換文件名 為 Gitbook的SUMMARY格式

  • build 編譯gitbook ,html格式以便發(fā)布

  • git 自動(dòng) push _book文件夾

  • gitee pages 自動(dòng)update(dev)

  • 代碼

    ''' #!/usr/bin/env python # -*- coding:utf-8 -*- # Created by victor # Created Time: '2021/4/17 0:42' '''''' version: 21.4.18 TODO : gitee pages auto sync!!! ''' import os # import sys # import re# dir 是全路徑 # 比如: E:\Projects\PycharmProjects\untitled\test\database\redis\2019-09-25-deepin-install-redis.md # :param dir: # :return: class GitbookTool:def __init__(self):self.sum_file_name = "file.md"# 當(dāng)前腳本目錄# self.pypath = sys.path[0]# self.pypath = os.getcwd()self.pypath = input("please input the root path(windows split symbol is \\)\n:")# self.root_path = self.pypath# sour_path source 源 路徑self.sour_path = self.pypath + "\\" + self.sum_file_name# SUMMARY.md 路徑self.summary_path = self.pypath + "\\" + "SUMMARY.md"print("| self.pypath >>> ",self.pypath)def repSpilt(self, path):"""替換路徑分隔符:param path::return:"""return path.replace("\\", "\\\\")def newFile(self, line, dirname):'''創(chuàng)建文件:param line::param dirname::return:'''print("| gen file >>>")# 新建文件的文件名,最后的\n去掉newName = dirname + "\\" + line[:-1]print("| \t", line[:-1])with open(newName, "w", encoding="utf-8") as f2:f2.write("# " + line[:-4])def for_line(self, file):'''讀取 sm文件,并遍歷行:param file::return:'''# 獲取目錄dirname = os.path.dirname(file)with open(file, "r", encoding="utf-8") as f1:i = 0for line in f1:if line == "\n":# line 是空行passelse:# 判斷l(xiāng)ine是不是最后一行if line[-1] != "\n":# 加上換行line += "\n"i += 1self.newFile(line, dirname)print("| gen ", i, "file success!!!")print("| path:", dirname)def gen_md(self):"""生成md文件:return:"""# 獲取輸入print("| -----------------------------------------------------")print("| md文件生成器")print("| 通過讀取file.md文件中的行數(shù)來創(chuàng)建文件")print("| 生成的文件會(huì)和源文件同目錄")print("| 注意:原有文件會(huì)被替換")# print("| 請輸入源目錄文件路徑,window用 \ 來分隔文件夾")# sourceFile = input(":")# E:\Projects\PycharmProjects\untitled\newFile# sourceFile = self.pypath + "\\" + "SUMMARY.md"self.for_line(self.repSpilt(self.sour_path))os.system('pause')def gitbook_build(self):'''編譯gitbook:return:'''# fname = self.pypath + +"\\"+"SUMMARY.md"# os.path.isfile(fname)rname = self.pypath + "\\" + "README.md"# print("rname >>> ",rname)if os.path.isfile(rname):# 文件存在passelse:with open(rname, "w", encoding="utf-8") as f2:f2.write("This file is generated by py script!!!\n")f2.write("Please write the contents of the README.md")print("| building...")os.chdir(self.pypath)os.system("gitbook build")os.system('pause')def replace_sum(self):with open(self.sour_path, "r", encoding="utf-8") as f1, open(self.summary_path, "w", encoding="utf-8") as f2:i = 0for line in f1:if line == "\n":# line 是空行passelse:# 判斷l(xiāng)ine是不是最后一行i += 1if line[-1] != "\n":# 加上換行line += "\n"f2.write("- [")f2.write(line[:-4])f2.write("](")f2.write(line[:-1])f2.write(")")f2.write("\n")print("| gen summary success!!!")print("| total effect line:",i)os.system('pause')def qucik_git(self):os.chdir(self.pypath)os.system("git add _book")os.system("git commit -m\"Commit by gitbook tool!!!\"")os.system("git push")os.system('pause')def menu(self):# 獲取輸入# print("| =========================================")# print("| ================ gitbook tools ================")print("| --------------------------- gitbook tools ---------------------------")print("| 1:生成md")print("| 2: 轉(zhuǎn)換SUMMARY")print("| 3: 編譯>HTML")print("| 4: 發(fā)布Git")print("| 0: exit()")print("| --------------------------- gitbook tools ---------------------------")return input("| choose operation you need:")if __name__ == '__main__':yt = '''┌─┐ ┌─┐ + +┌──┘ ┴───────┘ ┴──┐++│ ││ ─── │++ + + +███████───███████ │+│ │+│ ─┴─ ││ │└───┐ ┌───┘│ ││ │ + +│ ││ └──────────────┐│ ││ ├─┐│ ┌─┘│ │└─┐ ┐ ┌───────┬──┐ ┌──┘ + + + +│ ─┤ ─┤ │ ─┤ ─┤└──┴──┘ └──┴──┘ + + + +神獸保佑代碼無BUG!'''print(yt)print("| --------------------------- gitbook tools ---------------------------")print("| @version: 21.4.18")print("| @description: gitbook tools auto gen file & build & sync to git")print("| @author: victor")print("| @site: https://victorfengming.gitee.io/")print("| @introduce: https://victorfengming.gitee.io/comic/python-gitbook-tools/")print("| @readme: https://victorfengming.gitee.io/file/exe/gitbook-tools/readme.md")print("| @download: https://victorfengming.gitee.io/file/exe/gitbook-tools/gitbook-tools-21.4.18.exe")print("| --------------------------- gitbook tools ---------------------------")print("| 注意:使用前請將exe文件放到file.md同級目錄下")# print("| ========================================")# print(os.path.isfile("E:\\Projects\\PycharmProjects\\untitled\\newFiletest\\12.md"))gt = GitbookTool()while True:cho = gt.menu()if cho == "1":print(1)gt.gen_md()elif cho == "2":print(2)gt.replace_sum()elif cho == "3":print(3)gt.gitbook_build()elif cho == "4":print(4)gt.qucik_git()elif cho == "0":# print("| bye~")exit(0)

    gitee page 代碼(dev)

    from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait as Waitprint("start refresh gitee pages...")repo_user_name = "victorfengming" repo_name = "shell" login_user = "victorfengming" login_pwd = "xxxx"url = "https://gitee.com/"+repo_user_name+"/"+repo_name+"/pages"driver = "E:\\chrome\\chromedriver.exe" chrome_options = Options() chrome_options.add_argument("--window-size=1920,1080") chrome_options.add_argument("--start-maximized") chrome_options.add_argument("--headless") browser=webdriver.Chrome(executable_path=driver, options=chrome_options)browser.get(url)Wait(browser, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "item.git-nav-user__login-item"))) print("load finish. url=" + url) login_btn = browser.find_element_by_class_name("item.git-nav-user__login-item") login_btn.click()Wait(browser, 10).until(EC.presence_of_element_located((By.ID, "user_login"))) Wait(browser, 10).until(EC.presence_of_element_located((By.ID, "user_password"))) print("login page load finish.") user_input = browser.find_element_by_id("user_login") pwd_input = browser.find_element_by_id("user_password") login_btn = browser.find_element_by_name("commit") user_input.send_keys(login_user) pwd_input.send_keys(login_pwd) login_btn.click()Wait(browser, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "button.orange.redeploy-button.ui.update_deploy"))) print("login finish.") deploy_btn = browser.find_element_by_class_name('button.orange.redeploy-button.ui.update_deploy')browser.execute_script("window.scrollTo(100, document.body.scrollHeight);") deploy_btn.click() dialog = browser.switch_to.alert dialog.accept() print("refresh gitee pages finish.") browser.close()

    參考: https://www.jianshu.com/p/6460df84a099

    https://blog.csdn.net/weixin_29981095/article/details/113987875

    Pyinstaller

    設(shè)置 運(yùn)行參數(shù)

    -F $FileNameWithoutExtension$.py

    TODO

    gitee pages 自動(dòng)update(dev)

    tkinter界面

    附錄源碼

    cmd 版本 (fix bug)

    ''' #!/usr/bin/env python # -*- coding:utf-8 -*- # Created by victor # Created Time: '2021/4/17 0:42' '''''' version: 21.4.18 TODO : gitee pages auto sync!!! ''' import os # import sys # import re# dir 是全路徑 # 比如: E:\Projects\PycharmProjects\untitled\test\database\redis\2019-09-25-deepin-install-redis.md # :param dir: # :return: class GitbookTool:def __init__(self):self.sum_file_name = "file.md"# 當(dāng)前腳本目錄# self.pypath = sys.path[0]# self.pypath = os.getcwd()self.pypath = input("please input the root path(windows split symbol is \\)\n:")# self.root_path = self.pypath# sour_path source 源 路徑self.sour_path = self.pypath + "\\" + self.sum_file_name# SUMMARY.md 路徑self.summary_path = self.pypath + "\\" + "SUMMARY.md"print("| self.pypath >>> ",self.pypath)def repSpilt(self, path):"""替換路徑分隔符:param path::return:"""return path.replace("\\", "\\\\")def newFile(self, line, dirname):'''創(chuàng)建文件:param line::param dirname::return:'''print("| gen file >>>")# 新建文件的文件名,最后的\n去掉newName = dirname + "\\" + line[:-1]print("| \t", line[:-1])with open(newName, "w", encoding="utf-8") as f2:f2.write("# " + line[:-4])def for_line(self, file):'''讀取 sm文件,并遍歷行:param file::return:'''# 獲取目錄dirname = os.path.dirname(file)with open(file, "r", encoding="utf-8") as f1:i = 0for line in f1:if line == "\n":# line 是空行passelse:# 判斷l(xiāng)ine是不是最后一行if line[-1] != "\n":# 加上換行line += "\n"i += 1self.newFile(line, dirname)print("| gen ", i, "file success!!!")print("| path:", dirname)def gen_md(self):"""生成md文件:return:"""# 獲取輸入print("| -----------------------------------------------------")print("| md文件生成器")print("| 通過讀取file.md文件中的行數(shù)來創(chuàng)建文件")print("| 生成的文件會(huì)和源文件同目錄")print("| 注意:原有文件會(huì)被替換")# print("| 請輸入源目錄文件路徑,window用 \ 來分隔文件夾")# sourceFile = input(":")# E:\Projects\PycharmProjects\untitled\newFile# sourceFile = self.pypath + "\\" + "SUMMARY.md"self.for_line(self.repSpilt(self.sour_path))os.system('pause')def gitbook_build(self):'''編譯gitbook:return:'''# fname = self.pypath + +"\\"+"SUMMARY.md"# os.path.isfile(fname)rname = self.pypath + "\\" + "README.md"print("rname >>> ",rname)if os.path.isfile(rname):# 文件存在passelse:with open(rname, "w", encoding="utf-8") as f2:f2.write("This file is generated by py script!!!\n")f2.write("Please write the contents of the README.md")# bookignore = self.pypath + +"\\"+"SUMMARY.md"# os.path.isfile(fname)bookignore = self.pypath + "\\" + ".bookignore"if os.path.isfile(bookignore):# 文件存在 啥也不干passelse:with open(bookignore, "w", encoding="utf-8") as f2:f2.write("file.md")print("| building...")os.chdir(self.pypath)os.system("gitbook build")os.system('pause')def replace_sum(self):with open(self.sour_path, "r", encoding="utf-8") as f1, open(self.summary_path, "w", encoding="utf-8") as f2:i = 0for line in f1:if line == "\n":# line 是空行passelse:# 判斷l(xiāng)ine是不是最后一行i += 1if line[-1] != "\n":# 加上換行line += "\n"f2.write("- [")f2.write(line[:-4])f2.write("](")f2.write(line[:-1])f2.write(")")f2.write("\n")print("| gen summary success!!!")print("| total effect line:",i)os.system('pause')def qucik_git(self):os.chdir(self.pypath)os.system("git add _book")os.system("git commit -m\"Commit by gitbook tool!!!\"")os.system("git push")os.system('pause')def menu(self):# 獲取輸入# print("| =========================================")# print("| ================ gitbook tools ================")print("| --------------------------- gitbook tools ---------------------------")print("| 1:生成md")print("| 2: 轉(zhuǎn)換SUMMARY")print("| 3: 編譯>HTML")print("| 4: 發(fā)布Git")print("| 0: exit()")print("| --------------------------- gitbook tools ---------------------------")return input("| choose operation you need:")if __name__ == '__main__':yt = '''┌─┐ ┌─┐ + +┌──┘ ┴───────┘ ┴──┐++│ ││ ─── │++ + + +███████───███████ │+│ │+│ ─┴─ ││ │└───┐ ┌───┘│ ││ │ + +│ ││ └──────────────┐│ ││ ├─┐│ ┌─┘│ │└─┐ ┐ ┌───────┬──┐ ┌──┘ + + + +│ ─┤ ─┤ │ ─┤ ─┤└──┴──┘ └──┴──┘ + + + +神獸保佑代碼無BUG!'''print(yt)print("| --------------------------- gitbook tools ---------------------------")print("| @version: 21.4.22")print("| @description: gitbook tools auto gen file & build & sync to git")print("| @author: victor")print("| @site: https://victorfengming.gitee.io/")print("| @introduce: https://victorfengming.gitee.io/comic/python-gitbook-tools/")print("| @readme: https://victorfengming.gitee.io/file/exe/gitbook-tools/readme.md")print("| @download: https://victorfengming.gitee.io/file/exe/gitbook-tools/gitbook-tools-21.4.22.exe")print("| --------------------------- gitbook tools ---------------------------")print("| 注意:使用前請將exe文件放到file.md同級目錄下")# print("| ========================================")# print(os.path.isfile("E:\\Projects\\PycharmProjects\\untitled\\newFiletest\\12.md"))gt = GitbookTool()while True:cho = gt.menu()if cho == "1":print(1)gt.gen_md()elif cho == "2":print(2)gt.replace_sum()elif cho == "3":print(3)gt.gitbook_build()elif cho == "4":print(4)gt.qucik_git()elif cho == "0":# print("| bye~")exit(0)

    圖形Tk版本

    main.py

    # 導(dǎo)包 from tkinter import * from tkinter import filedialog, messagebox from gitbook_tools import GitbookTool'''| --------------------------- gitbook tools --------------------------- | @version: 21.4.23 | @description: gitbook tools auto gen file & build & sync to git | @author: victor | @site: https://victorfengming.gitee.io/ | @introduce: https://victorfengming.gitee.io/comic/python-gitbook-tools/ | @readme: https://victorfengming.gitee.io/file/exe/gitbook-tools/readme.md | @download: https://victorfengming.gitee.io/file/exe/gitbook-tools/gitbook-tools-21.4.23.exe | --------------------------- gitbook tools --------------------------- | TODO : | 1. 遞歸掃描md文件,根據(jù)相對路徑 生成`SUMMARY.md` | 2. cmd 日志 放入 tk頁面 | 5. gitee pages auto update by chrome tools | --------------------------- gitbook tools ---------------------------''' class Tk_gui():def __init__(self, gt):'''初始化魔術(shù)方法用于設(shè)置界面的初始狀態(tài)'''# 創(chuàng)建tkinter窗口self.root = Tk()# 設(shè)置窗口的標(biāo)題self.root.title('Gitbook Tools')# 設(shè)置窗口的長和寬,最大值和最小值設(shè)置相同,用戶不可調(diào)整窗口大小self.root.minsize(90, 180)self.root.maxsize(780, 180)self.gt = gtself.root_path = ""# 初始化# 初始化主要url# 調(diào)用主要邏輯執(zhí)行函數(shù)self.main_logic()def main_logic(self):'''主業(yè)務(wù)邏輯:return:'''# 頂部信息欄topp = Frame()topp.grid(row=0, column=0)# 內(nèi)容欄self.cont = Frame()self.cont.grid(row=1, column=0)# 輸入選項(xiàng)操作self.indo = Frame()self.indo.grid(row=0, column=1, rowspan=2)# 狀態(tài)欄self.stat = Frame()self.stat.grid(row=2, column=0)# self.get_path()self.put_button()# 加入主消息循環(huán)self.root.mainloop()# ## self.myStdout() # 實(shí)例化重定向類# self.restoreStd() # 恢復(fù)標(biāo)準(zhǔn)輸出def put_button(self):'''用于繪制頂部菜單:param topp::return:'''# 菜單欄# print("| 1:生成md")# print("| 2: 轉(zhuǎn)換SUMMARY")# print("| 3: 編譯>HTML")# print("| 4: 發(fā)布Git")# print("| 0: exit()")self.gen_button("設(shè)置工作路徑", self.get_path).grid(row=0, column=0)self.gen_button("生成md", lambda: self.button_run_before(gt.gen_md)()).grid(row=1, column=0)self.gen_button("轉(zhuǎn)換SUMMARY", lambda: self.button_run_before(gt.replace_sum)()).grid(row=2, column=0)self.gen_button("編譯>HTML", lambda: self.button_run_before(gt.gitbook_build)()).grid(row=3, column=0)self.gen_button("發(fā)布Git", lambda: self.button_run_before(gt.qucik_git)()).grid(row=4, column=0)def gen_button(self, text, method):'''生成 button:param text::param method::return:'''return Button(self.cont, text=text, command=method, width=22)def get_path(self):self.root_path = filedialog.askdirectory()print("getpath>>>",self.root_path)# 將路徑 從 圖形類 傳入 工具類self.gt.pypath = self.root_path# cmd 消息 放入 tk頁面 (dev)# def myStdout(self): # 重定向類# # 將其備份# self.stdoutbak = sys.stdout# self.stderrbak = sys.stderr# # 重定向# sys.stdout = self# sys.stderr = self## def write(self, info):# t = Text(self.cont) # 創(chuàng)建多行文本控件# t.pack() # 布局在窗體上# # info信息即標(biāo)準(zhǔn)輸出sys.stdout和sys.stderr接收到的輸出信息# t.insert('end', info) # 在多行文本控件最后一行插入print信息# t.update() # 更新顯示的文本,不加這句插入的信息無法顯示# t.see(END) # 始終顯示最后一行,不加這句,當(dāng)文本溢出控件最后一行時(shí),不會(huì)自動(dòng)顯示最后一行## def restoreStd(self):# # 恢復(fù)標(biāo)準(zhǔn)輸出# sys.stdout = self.stdoutbak# sys.stderr = self.stderrbakdef button_run_before(self,func):# 判斷# if func != self.get_path and self.root_path == "":if self.root_path == "":messagebox.showinfo('錯(cuò)誤','請先設(shè)置工作路徑')self.get_path()else:return func# print("| ========================================") # print(os.path.isfile("E:\\Projects\\PycharmProjects\\untitled\\newFiletest\\12.md"))# gt = GitbookTool(input("please input the root path(windows split symbol is \\)\n:"))gt = GitbookTool()t = Tk_gui(gt)

    gitbook_tools.py

    ''' #!/usr/bin/env python # -*- coding:utf-8 -*- # Created by victor # Created Time: '2021/4/17 0:42' '''''' version: 21.4.18 TODO : gitee pages auto sync!!! ''' import os # import sys # import re# dir 是全路徑 # 比如: E:\Projects\PycharmProjects\untitled\test\database\redis\2019-09-25-deepin-install-redis.md # :param dir: # :return: class GitbookTool:def __init__(self):self.sum_file_name = "file.md"self.summary_file_name = "SUMMARY.md"self.readme_name = "README.md"# 當(dāng)前腳本目錄# self.pypath = sys.path[0]# self.pypath = os.getcwd()# self.pypath = input("please input the root path(windows split symbol is \\)\n:")self.pypath = ""# self.root_path = self.pypath# sour_path source 源 路徑self.sour_path = self.pypath + "\\" + self.sum_file_name# SUMMARY.md 路徑self.summary_path = self.pypath + "\\" + self.summary_file_nameprint("| self.pypath >>> ",self.pypath)def repSpilt(self, path):"""替換路徑分隔符:param path::return:"""return path.replace("\\", "\\\\")def newFile(self, line, dirname):'''創(chuàng)建文件:param line::param dirname::return:'''print("| gen file >>>")# 新建文件的文件名,最后的\n去掉newName = dirname + "\\" + line[:-1]print("| \t", line[:-1])with open(newName, "w", encoding="utf-8") as f2:f2.write("# " + line[:-4])def for_line(self, file):'''讀取 sm文件,并遍歷行:param file::return:'''# 獲取目錄dirname = os.path.dirname(file)with open(file, "r", encoding="utf-8") as f1:i = 0for line in f1:if line == "\n":# line 是空行passelse:# 判斷l(xiāng)ine是不是最后一行if line[-1] != "\n":# 加上換行line += "\n"i += 1self.newFile(line, dirname)print("| gen ", i, "file success!!!")print("| path:", dirname)def gen_md(self):"""生成md文件:return:"""# 獲取輸入print("| -----------------------------------------------------")print("| md文件生成器")print("| 通過讀取file.md文件中的行數(shù)來創(chuàng)建文件")print("| 生成的文件會(huì)和源文件同目錄")print("| 注意:原有文件會(huì)被替換")# print("| 請輸入源目錄文件路徑,window用 \ 來分隔文件夾")# sourceFile = input(":")# E:\Projects\PycharmProjects\untitled\newFile# sourceFile = self.pypath + "\\" + "SUMMARY.md"sour_path = self.pypath + "\\" + self.sum_file_nameself.for_line(self.repSpilt(sour_path))# os.system('pause')def gitbook_build(self):'''編譯gitbook:return:'''# fname = self.pypath + +"\\"+"SUMMARY.md"# os.path.isfile(fname)rname = self.pypath + "\\" + self.readme_nameprint("rname >>> ",rname)if os.path.isfile(rname):# 文件存在passelse:with open(rname, "w", encoding="utf-8") as f2:f2.write("This file is generated by py script!!!\n")f2.write("Please write the contents of the README.md")# bookignore = self.pypath + +"\\"+"SUMMARY.md"# os.path.isfile(fname)bookignore = self.pypath + "\\" + ".bookignore"if os.path.isfile(bookignore):# 文件存在 啥也不干passelse:with open(bookignore, "w", encoding="utf-8") as f2:f2.write("file.md\n")print("| building...")os.chdir(self.pypath)os.system("gitbook build")# os.system('pause')def replace_sum(self):# SUMMARY.md 路徑# 更新路徑summary_path = self.pypath + "\\" + self.summary_file_namesour_path = self.pypath + "\\" + self.sum_file_name# summary_path = self.pypath + "\\" + "SUMMARY.md"with open(sour_path, "r", encoding="utf-8") as f1, open(summary_path, "w", encoding="utf-8") as f2:i = 0for line in f1:if line == "\n":# line 是空行passelse:# 判斷l(xiāng)ine是不是最后一行i += 1if line[-1] != "\n":# 加上換行line += "\n"f2.write("- [")f2.write(line[:-4])f2.write("](")f2.write(line[:-1])f2.write(")")f2.write("\n")print("| gen summary success!!!")print("| total effect line:",i)# os.system('pause')def qucik_git(self):os.chdir(self.pypath)os.system("git add _book")os.system("git commit -m\"Commit by gitbook tool!!!\"")os.system("git push")# os.system('pause')def menu(self):# 獲取輸入# print("| =========================================")# print("| ================ gitbook tools ================")print("| --------------------------- gitbook tools ---------------------------")print("| 1:生成md")print("| 2: 轉(zhuǎn)換SUMMARY")print("| 3: 編譯>HTML")print("| 4: 發(fā)布Git")print("| 0: exit()")print("| --------------------------- gitbook tools ---------------------------")return input("| choose operation you need:")if __name__ == '__main__':yt = '''┌─┐ ┌─┐ + +┌──┘ ┴───────┘ ┴──┐++│ ││ ─── │++ + + +███████───███████ │+│ │+│ ─┴─ ││ │└───┐ ┌───┘│ ││ │ + +│ ││ └──────────────┐│ ││ ├─┐│ ┌─┘│ │└─┐ ┐ ┌───────┬──┐ ┌──┘ + + + +│ ─┤ ─┤ │ ─┤ ─┤└──┴──┘ └──┴──┘ + + + +神獸保佑代碼無BUG!'''print(yt)print("| --------------------------- gitbook tools ---------------------------")print("| @version: 21.4.23")print("| @description: gitbook tools auto gen file & build & sync to git")print("| @author: victor")print("| @site: https://victorfengming.gitee.io/")print("| @introduce: https://victorfengming.gitee.io/comic/python-gitbook-tools/")print("| @readme: https://victorfengming.gitee.io/file/exe/gitbook-tools/readme.md")print("| @download: https://victorfengming.gitee.io/file/exe/gitbook-tools/gitbook-tools-21.4.23.exe")print("| --------------------------- gitbook tools ---------------------------")# print("| 注意:使用前請將exe文件放到file.md同級目錄下")# print("| ========================================")# print(os.path.isfile("E:\\Projects\\PycharmProjects\\untitled\\newFiletest\\12.md"))gt = GitbookTool(input("please input the root path(windows split symbol is \\)\n:"))while True:cho = gt.menu()if cho == "1":print(1)gt.gen_md()elif cho == "2":print(2)gt.replace_sum()elif cho == "3":print(3)gt.gitbook_build()elif cho == "4":print(4)gt.qucik_git()elif cho == "0":# print("| bye~")exit(0)

    總結(jié)

    以上是生活随笔為你收集整理的Python实现GitBook工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    99福利片 | 午夜精品久久久久久久99热影院 | 最新免费中文字幕 | 99热999| 日韩电影中文 | 国产精品久久久久久久久久久久午夜片 | 精品国内自产拍在线观看视频 | 色丁香综合 | 九色精品免费永久在线 | 在线亚洲人成电影网站色www | 久久久久人人 | 中文字幕日本电影 | 349k.cc看片app| 国产短视频在线播放 | 国产免费一区二区三区最新6 | 免费人人干 | 日韩区在线观看 | 五月天狠狠操 | 91精品久久久久久久久久入口 | 麻豆视频免费在线 | 日韩资源在线 | 在线导航av| 99在线视频播放 | 麻豆成人小视频 | 美女网站色免费 | 国产精品久久久久久久久久久久午夜片 | 天海冀一区二区三区 | 欧美精品生活片 | 97视频免费在线看 | 欧美精品乱码99久久影院 | 亚洲va在线va天堂va偷拍 | 一级片在线 | 日本久久综合网 | 97精品一区二区三区 | 久久国产精品99久久久久 | 国产色久 | 在线观看视频99 | 久草在在线 | 国产精品免费久久久久久久久久中文 | 就色干综合 | 久久精品电影 | 亚洲高清免费在线 | 黄色小说网站在线 | 99这里只有 | 最近更新中文字幕 | 天堂av免费在线 | 欧美日本在线观看视频 | 毛片网站观看 | 国产在线精品一区 | 伊人久久在线观看 | 国产自产高清不卡 | 欧美日韩精品在线免费观看 | 精品久久中文 | 叶爱av在线 | 欧美另类交在线观看 | 激情网色| 免费高清无人区完整版 | 婷婷精品进入 | 国产一区二区手机在线观看 | 韩国av一区| 久久超级碰 | 欧美国产高清 | 国产日韩欧美在线观看视频 | 免费在线黄色av | 网站在线观看日韩 | 国产一区在线视频 | 国产乱码精品一区二区蜜臀 | 天天搞天天干天天色 | 中文字幕在线视频精品 | 黄色精品一区二区 | 黄色毛片观看 | 欧美日韩中文字幕综合视频 | 久久试看| 久草视频免费 | 精品久久久久久久久久 | 欧美激情视频一区二区三区 | 成人免费在线电影 | 黄av资源 | 中文字幕 91 | 青青五月天 | 91系列在线 | 五月天久久婷婷 | 国产精品福利在线观看 | 天天操天天操天天 | 久久久久久国产精品久久 | 日韩在线观看中文 | 一区精品久久 | 色婷婷播放 | 国产一级二级av | 免费在线播放 | 色永久免费视频 | 精品国产亚洲一区二区麻豆 | 国产成人一区二区三区在线观看 | 白丝av免费观看 | 玖玖玖在线观看 | 国产精久久久久久久 | 午夜影院在线观看18 | 日韩亚洲精品电影 | 精品久久久久久久久久久久久久久久 | 四虎影视精品成人 | 久久久久久久免费观看 | 18女毛片| 国产在线精品福利 | zzijzzij日本成熟少妇 | 天天碰天天操视频 | 精品一区二区免费 | 久久99九九99精品 | 天天视频色版 | 99这里只有精品视频 | 伊香蕉大综综综合久久啪 | 欧美动漫一区二区三区 | 国产成人精品一区二区在线观看 | 欧美有色 | 一区二区三区四区精品视频 | 亚洲深夜影院 | 婷婷丁香社区 | 天天操天天干天天综合网 | 日韩精品视频在线免费观看 | 一区二区 不卡 | 国产一区免费看 | 色插综合| 欧美老少交 | 免费国产在线精品 | 亚洲japanese制服美女 | 国产综合片 | 欧美性天天 | 99精品欧美一区二区三区黑人哦 | 亚洲成人资源在线 | 婷婷深爱网 | 国产精品一区一区三区 | 久久久久久久国产精品影院 | 日韩专区视频 | 少妇bbbb | 日本精品视频免费 | 国产在线观看91 | 欧美亚洲三级 | 亚州精品在线视频 | 欧美性春潮 | 久久噜噜少妇网站 | 精品免费久久久久久 | 一区二区中文字幕在线观看 | 免费观看av网站 | 99精品视频99 | 日韩精品免费在线 | 久久久精品一区二区三区 | 波多野结衣精品在线 | 日韩av片在线 | 国产高清免费视频 | 国产黄色大全 | 91香蕉亚洲精品 | 日韩三区在线观看 | 干干日日 | 天天射天天射天天射 | 99热国内精品 | 波多野结衣视频一区 | 亚洲精品国内 | 国产在线a视频 | 亚洲精品色视频 | 99婷婷狠狠成为人免费视频 | 国产精品一区专区欧美日韩 | 国产69精品久久久久久 | 欧美精品九九99久久 | 一级黄网 | 九九视频精品免费 | 99re久久资源最新地址 | 久久久久女教师免费一区 | 91视频免费播放 | 一本色道久久精品 | 人人爽人人爱 | 欧美日韩高清在线一区 | 天天操天天透 | 粉嫩aⅴ一区二区三区 | 91伊人影院 | 日韩毛片在线播放 | 在线免费视频一区 | 久久成人综合 | 97视频免费观看 | 日韩在线视频在线观看 | 亚洲精品小视频 | 亚洲最大的av网站 | 欧美日本啪啪无遮挡网站 | 婷婷国产精品 | 中文字幕高清免费日韩视频在线 | 亚洲精品视频二区 | 久久久麻豆精品一区二区 | 成人午夜黄色 | 日韩a级免费视频 | 中文一二区 | 国产字幕av | 免费看一级特黄a大片 | 久久这里只有精品首页 | 成人免费观看完整版电影 | 国产精品久久综合 | 香蕉视频91 | 色婷婷国产在线 | 免费成人黄色 | 激情网站网址 | 天天干天天操av | 开心激情综合网 | 深爱激情站 | 奇米影视8888在线观看大全免费 | 亚洲精品美女免费 | 久久激情精品 | 欧美一级久久久 | 欧美污污网站 | 久久免费观看少妇a级毛片 久久久久成人免费 | 亚洲精品乱码久久久一二三 | 欧洲精品码一区二区三区免费看 | 亚洲精品激情 | 四虎影视国产精品免费久久 | 永久黄网站色视频免费观看w | 久久久麻豆视频 | 国产精品成人一区 | 五月激情丁香婷婷 | 久国产在线播放 | 99国产免费网址 | 亚洲欧美日韩在线一区二区 | 国产一区在线免费观看视频 | 国产一级精品在线观看 | 色999五月色 | 国产理论一区二区三区 | 97在线精品视频 | 黄色av一区二区 | 成av在线 | 久久最新| 成人一区电影 | 亚洲精品国产综合99久久夜夜嗨 | 亚洲爱爱视频 | 国产精品白丝jk白祙 | 一级性视频 | 国产精品一区二区av日韩在线 | 久二影院 | 最新高清无码专区 | 国产在线传媒 | 少妇自拍av | 免费美女久久99 | 97超碰在线久草超碰在线观看 | 天天操夜夜操天天射 | 性色av香蕉一区二区 | 六月天色婷婷 | 成人在线免费看视频 | 亚洲在线看 | 欧美资源在线观看 | 在线国产一区二区三区 | 国产精品永久免费视频 | 中文字幕视频观看 | 国产一区二区三区在线免费观看 | 五月天天色 | 中文网丁香综合网 | 亚洲综合日韩在线 | 久久久亚洲精品 | 在线播放 日韩专区 | 中文字幕成人av | 国产精品 欧美 日韩 | 中文字幕乱码视频 | 免费在线观看污网站 | 精品一区二区三区香蕉蜜桃 | 最新一区二区三区 | 香蕉视频网址 | 天天干天天操天天 | 欧美精品久久久久久久 | aa级黄色大片 | 91视频 - 88av| 人人爽人人爽人人爽 | 亚洲日本韩国一区二区 | 日韩在线视频网址 | 视频三区| 日本精品在线 | 91久久国产综合精品女同国语 | 欧美一二三区播放 | 91福利在线观看 | 福利久久| 麻豆视频在线免费观看 | 久草久草在线观看 | 精品亚洲免费 | 久久久久久久久综合 | 日韩精品一区电影 | av免费观看网站 | 曰韩在线 | 色在线亚洲 | 欧美一区二区三区在线观看 | 天天操天天舔天天干 | 中文字幕区 | 久久精品久久久久 | 91精品视频在线 | 99色在线播放 | 精品国产精品国产偷麻豆 | 毛片网免费| 国产成人亚洲在线观看 | 国产精品久久久久久久婷婷 | 亚洲精品久久久蜜桃 | 一区二区伦理 | 波多野结衣综合网 | 中文日韩在线视频 | 天天色天天干天天色 | 亚洲91视频| 亚洲日韩精品欧美一区二区 | 日韩av不卡在线播放 | 天天干天天上 | 日本中文在线观看 | 亚洲精品视频免费在线观看 | 国产精品毛片网 | 久久国产成人午夜av影院潦草 | 国产精品国内免费一区二区三区 | 一区二区在线影院 | 激情五月婷婷激情 | 91黄色成人| 国产精品久久中文字幕 | 久久人人爽视频 | 五月天六月婷婷 | 欧美孕交vivoestv另类 | 婷婷在线免费 | 亚洲精品午夜视频 | 深爱婷婷网 | 精品91久久久久 | 精品久久久久久久久中文字幕 | 成人a级大片 | 久久免费试看 | 成人av在线亚洲 | 91精选在线观看 | 亚州精品一二三区 | 久久久这里有精品 | 国产99区 | 久久久久久国产一区二区三区 | 国产成人在线播放 | 美女黄频 | 二区视频在线观看 | 亚洲欧美日韩精品一区二区 | 超碰97网站 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 日韩精品免费一区二区三区 | 天天干天天插伊人网 | 国产96在线观看 | 一级一级一片免费 | 日本高清xxxx | 不卡精品视频 | 亚洲精品玖玖玖av在线看 | 俺要去色综合狠狠 | 亚洲闷骚少妇在线观看网站 | 久久久久久毛片精品免费不卡 | 国产专区在线看 | 久久精品日产第一区二区三区乱码 | 十八岁以下禁止观看的1000个网站 | 一区二区av | 在线精品视频免费观看 | 91精品国产高清 | 黄色一及电影 | 国产精品久久久久久久久费观看 | 国产免费三级在线观看 | 美州a亚洲一视本频v色道 | 国产在线不卡 | 日韩中文久久 | 丝袜av网站| 免费看三级网站 | 99热最新 | 久久久麻豆视频 | 日韩av一区二区在线影视 | 激情视频综合网 | 日韩av片无码一区二区不卡电影 | 欧美日韩中文在线视频 | 人人舔人人舔 | 免费看一级特黄a大片 | 99久久精品免费看 | 亚洲黄色在线观看 | 在线观看第一页 | 国产99一区 | 97超碰站 | 日韩在线短视频 | 天天射天天操天天色 | 在线看黄网站 | 国产美女网 | 韩国一区二区三区视频 | 国产成人在线网站 | 亚洲精品久久久久中文字幕二区 | 亚洲第一色| 久久久久久久久久亚洲精品 | 日本福利视频在线 | 欧美日bb | 国产日本亚洲 | 国产视频日韩视频欧美视频 | 亚洲欧美视频在线播放 | 日韩av成人在线 | 国产精品18久久久久白浆 | 热re99久久精品国产66热 | 久久伦理影院 | 伊人日日干| 成人在线播放免费观看 | 天天躁日日躁狠狠躁av中文 | 国产精品久久久久久久久久不蜜月 | 亚洲综合五月天 | 热热热热热色 | 久久久久国产精品一区二区 | 国产精品一区二区免费 | 丁香视频全集免费观看 | 国产裸体视频网站 | 中文字幕在线精品 | 久久精品久久久精品美女 | 国产精品日韩在线观看 | 日日操日日干 | 在线观看的黄色 | 国产一级片一区二区三区 | 国产精品初高中精品久久 | 国产美腿白丝袜足在线av | 去看片 | 亚洲国产精品资源 | 久章草在线观看 | 久久久久久久久久久久久影院 | 福利久久 | 国产三级香港三韩国三级 | 亚洲精品久久久久中文字幕二区 | 91亚洲精品国产 | 国产短视频在线播放 | 亚洲免费精品视频 | 久久a v视频 | 日批在线观看 | 开心色插 | 免费av看片 | 最新av观看 | 亚洲精品在线播放视频 | 激情伊人五月天久久综合 | 日韩极品视频在线观看 | 日韩av专区 | 国产不卡av在线播放 | 超碰免费在线公开 | 亚洲国产日本 | 成人夜晚看av | 人人插人人射 | 狠狠操综合 | 午夜婷婷在线播放 | 九九九九免费视频 | 日日干夜夜草 | 99在线观看 | 欧美日韩视频免费看 | 日日夜夜网 | 午夜三级在线 | 99精品欧美一区二区三区 | 波多野结衣理论片 | 国产又黄又爽又猛视频日本 | 在线视频 国产 日韩 | 麻豆视频免费看 | 超级碰99 | 2023国产精品自产拍在线观看 | 在线观看麻豆av | 久久精品香蕉视频 | 天天射天天色天天干 | 成人av资源网| 日韩精品在线观看视频 | 97色噜噜 | 欧美肥妇free | 国产最新在线视频 | 国产三级国产精品国产专区50 | 天堂av一区二区 | 日韩在线观看 | 四虎成人精品永久免费av九九 | 日韩精品免费在线观看视频 | 日韩欧美区 | 亚洲日本一区二区在线 | 国产在线不卡 | 五月花丁香婷婷 | 91免费黄视频 | 亚洲一区美女视频在线观看免费 | 日韩视频在线不卡 | 国产青草视频在线观看 | 天天舔天天搞 | 国产高清视频免费 | 日韩资源视频 | 婷婷免费视频 | 亚洲一区二区三区91 | 精品国产精品久久 | 在线视频日韩 | 日本久久久亚洲精品 | 美女网站视频久久 | 人人看看人人 | 成年人看片网站 | 国产麻豆果冻传媒在线观看 | 九九热精品在线 | 免费看av片网站 | 色婷婷国产在线 | 欧美黑人性爽 | 国内精品视频免费 | 国内外成人在线 | www国产亚洲精品久久网站 | 久操视频在线观看 | 91.精品高清在线观看 | 欧美性色黄大片在线观看 | 99久久精品午夜一区二区小说 | 99视频在线免费看 | 五月婷婷在线综合 | 久综合网| 97香蕉超级碰碰久久免费软件 | 毛片网站在线观看 | 最近2019好看的中文字幕免费 | 波多野结衣小视频 | 久久在线免费视频 | 精品国自产在线观看 | 五月婷婷色综合 | 日本中文字幕高清 | 国产一级二级在线播放 | 黄色在线免费观看网站 | 99热网站| 日韩中文字幕免费电影 | 偷拍福利视频一区二区三区 | 亚洲国产午夜精品 | 美女国内精品自产拍在线播放 | 六月婷色 | 精品亚洲网 | 精品在线观看一区二区三区 | 日本性久久 | 亚洲精品玖玖玖av在线看 | 国产精品免费久久久久久久久久中文 | 一级做a爱片性色毛片www | 天天色天天操天天爽 | 91av视频网| 日韩,精品电影 | 国产精品久久久久9999吃药 | 精品国产伦一区二区三区免费 | 91av在线国产| 色多多在线观看 | 亚洲天堂视频在线 | 特级毛片爽www免费版 | 亚洲精品视频在线观看免费视频 | 2021久久 | www国产在线 | 国产精品毛片一区视频 | 在线看黄色的网站 | 一级特黄aaa大片在线观看 | a级国产乱理论片在线观看 伊人宗合网 | 麻豆91在线看| 五月天婷婷丁香花 | 色婷婷狠狠操 | 91精品小视频 | 成人久久18免费网站 | 久久久九色精品国产一区二区三区 | 亚洲免费婷婷 | 在线观看91久久久久久 | 激情视频一区二区三区 | 亚洲精品电影在线 | 亚洲va综合va国产va中文 | 国产伦精品一区二区三区免费 | 中午字幕在线观看 | 亚洲国产影院 | 国产视频一二三 | 五月香婷 | 激情综合网色播五月 | 国产第一页在线播放 | 特级黄录像视频 | 国产一区成人在线 | 亚洲视频在线观看免费 | 亚洲精品影视在线观看 | 999国产 | 国产精品九九九九九 | 黄色一及电影 | www.97视频| 青草视频在线 | 日韩中文久久 | 欧美性做爰猛烈叫床潮 | 黄色软件大全网站 | 国产色爽| 免费在线观看av片 | 亚洲精品久久久久中文字幕二区 | 亚洲午夜小视频 | 深爱激情五月婷婷 | 五月婷婷丁香综合 | 丰满少妇一级 | 女女av在线 | 成人av片免费观看app下载 | 人人藻人人澡人人爽 | 成人av在线电影 | 成人av影视观看 | 最新日韩在线观看 | 少妇bbb好爽 | 91在线精品一区二区 | 在线国产视频 | 午夜手机电影 | 九九免费观看全部免费视频 | 久久三级毛片 | 91视频免费国产 | 91夜夜夜| www.狠狠插.com | 韩国精品福利一区二区三区 | 特级aaa毛片 | 中文字幕在线观看国产 | 天天色天天射天天干 | 国产视频每日更新 | 亚洲无吗av | 91桃色在线播放 | 国产在线2020 | 人人干在线观看 | 国产免费高清视频 | 日日爽天天| 国产一区二区在线视频观看 | 91丨精品丨蝌蚪丨白丝jk | 日日操日日干 | 黄色一区二区在线观看 | 亚洲精品久久激情国产片 | 人人看人人做人人澡 | 免费看毛片在线 | 日韩精品久久中文字幕 | 久久国产福利 | 99国产一区二区三精品乱码 | 99精品视频一区二区 | 亚洲精品视频在线免费 | 国产大尺度视频 | 色姑娘综合 | 国产a视频免费观看 | 日本丶国产丶欧美色综合 | 亚欧日韩成人h片 | 91久久电影 | bbb搡bbb爽爽爽| 少妇bbw揉bbb欧美 | 激情小说久久 | 一二区av| 久久成人精品电影 | 91尤物国产尤物福利在线播放 | 中文字幕一区二区三区乱码不卡 | 超碰在线人人爱 | 麻豆视频免费看 | 国产青青青 | 亚洲韩国一区二区三区 | 国产精品观看在线亚洲人成网 | 四虎海外影库www4hu | 狠狠色丁香久久婷婷综合_中 | 成人毛片在线视频 | 亚洲欧美国产精品久久久久 | 久久久久久久av麻豆果冻 | 日韩精品一区二区三区高清免费 | 99久久国产免费免费 | 欧美日韩视频免费看 | 国产99久久久国产精品免费二区 | 人人看黄色 | 亚洲高清在线精品 | 成人在线视频你懂的 | 亚洲视频在线视频 | 久久国产一二区 | 这里只有精彩视频 | 亚洲欧美在线综合 | 99精品色 | 久久国产午夜精品理论片最新版本 | 欧美资源在线观看 | 国产成人三级在线 | 久久久国产在线视频 | 天天爱天天色 | 国产成人一区二区三区在线观看 | 久久97超碰 | 亚洲天堂网在线播放 | 91黄色视屏 | 中文字幕黄色网 | 五月婷婷综合在线观看 | 91视频-88av | 亚洲另类交 | 国产精品视频999 | 日日夜夜免费精品 | 男女视频国产 | 99热超碰在线 | 日韩av美女| 亚州av免费 | 精品国产一区二区三区久久久蜜臀 | 中文字幕精品一区二区三区电影 | 91视频国产高清 | av综合 日韩 | 又黄又刺激又爽的视频 | 亚洲日日夜夜 | 久久这里有精品 | 亚洲一区免费在线 | 成人福利在线 | 免费国产黄线在线观看视频 | 98精品国产自产在线观看 | 人人看人人草 | 91高清一区| 婷婷丁香色 | av网站有哪些| 黄色片网站 | 爱情影院aqdy鲁丝片二区 | 91视频在线免费 | 天天干天天操av | www.av中文字幕.com | 国产精品自产拍在线观看桃花 | 婷婷亚洲激情 | av黄色亚洲 | 激情久久久久久久久久久久久久久久 | 丰满少妇一级 | 亚洲成人第一区 | 欧美日韩性视频 | 中文字幕在线视频免费播放 | 国产小视频免费在线观看 | 久久久久久久久久久久久久av | 午夜在线免费视频 | 亚州视频在线 | 9999精品免费视频 | 99久久精品免费看国产麻豆 | 97人人模人人爽人人喊网 | 97视频人人免费看 | 国产伦理一区二区三区 | 欧美一级片在线播放 | 丁香婷婷网| 国产高清视频免费 | 国产91精品一区二区麻豆亚洲 | 狠狠色2019综合网 | 超碰官网| 久久99精品波多结衣一区 | 国产成人精品一区一区一区 | 国产九九九精品视频 | 国产在线观看h | 久久99国产精品久久 | a爱爱视频| 91亚瑟视频 | 国产精品嫩草影视久久久 | 九九九视频在线 | 五月婷香蕉久色在线看 | 美女又爽又黄 | 精品自拍网 | 奇米四色影狠狠爱7777 | 欧美男同网站 | 黄毛片在线观看 | 日韩天堂网 | 探花系列在线 | 久久五月婷婷丁香社区 | 久久99精品久久久久婷婷 | 久久成人国产精品一区二区 | 一区在线免费观看 | 热99在线视频 | 久久精品欧美一区 | 99久久精品无码一区二区毛片 | 国产视频精选 | 欧美日韩精品在线免费观看 | 日本中文字幕在线播放 | 国产高清网站 | 天天草视频 | 免费观看高清 | 精品国产一区二区三区免费 | 91九色国产在线 | 在线观看av中文字幕 | 99热在线国产精品 | 91久久国产自产拍夜夜嗨 | 丁香五月亚洲综合在线 | 色视频网站免费观看 | 香蕉91视频 | 国产一区精品在线观看 | 精品国产一区二区三区男人吃奶 | 最近最新mv字幕免费观看 | 欧美巨大| 国产精品女主播一区二区三区 | 精品国产一区二区三区免费 | 免费观看91视频大全 | 国产成人精品综合久久久 | 国产精品综合在线观看 | 国产91精品一区二区 | 成人免费观看大片 | 欧美永久视频 | 亚洲国产日韩一区 | 欧美在线观看视频一区二区三区 | 免费看在线看www777 | 国产无套一区二区三区久久 | 欧美日韩国产页 | 日日夜夜av | 国产精品永久免费在线 | 国产精品久久嫩一区二区免费 | 美女搞黄国产视频网站 | 精品久久久久久久久久久久久久久久久久 | 99久久99久久精品国产片果冰 | 青草视频在线播放 | 国产精品免费观看在线 | 久久久人人爽 | 日韩精品在线观看av | 国内视频一区二区 | 免费黄色一区 | 日韩av福利在线 | 国产成人精品一区二三区 | 国产精品欧美久久久久天天影视 | 成年人黄色免费看 | 久久99视频精品 | 亚洲视频免费在线 | 国产一级h | 天天爽人人爽 | 日韩色在线观看 | 久久精品亚洲一区二区三区观看模式 | 日韩欧美精品在线视频 | 欧美一二三区在线播放 | 黄色av电影一级片 | a√国产免费a | 天天干中文字幕 | 色综合天天狠天天透天天伊人 | 久久国产精品电影 | 最近高清中文字幕 | 亚洲黄色av网址 | 伊色综合久久之综合久久 | 国产精品一区二区久久 | 一本一本久久a久久精品综合妖精 | 亚洲精品视频一二三 | 天天插伊人 | 天天狠狠操 | 久久精品中文字幕一区二区三区 | 亚洲精品福利视频 | 亚洲视频一 | 黄色大片免费播放 | 精选久久 | 亚洲aaa毛片 | 中文永久字幕 | 99 视频 高清 | 国产精品ssss在线亚洲 | 丁香激情综合久久伊人久久 | 狠狠躁日日躁狂躁夜夜躁av | 亚洲精品午夜aaa久久久 | 97电影院在线观看 | 99视频精品 | 亚洲精品久 | 久久午夜精品 | 久久不射电影院 | 国产精品自在欧美一区 | 国产无遮挡又黄又爽在线观看 | 日韩啪啪小视频 | 亚洲午夜精品久久久 | 日韩欧美在线观看一区二区三区 | 欧美a√大片 | 激情欧美丁香 | 97在线观看视频国产 | 久久久午夜视频 | 97超碰色偷偷 | 成人在线视频免费看 | 丰满少妇在线观看网站 | 国产视频色| 色综合久久综合网 | 国产黄色片久久久 | 国产精品毛片完整版 | 国产精品初高中精品久久 | 美州a亚洲一视本频v色道 | 欧美一级艳片视频免费观看 | 涩涩网站在线播放 | 91网免费观看 | 日韩专区在线播放 | 特级西西444www大胆高清无视频 | 日韩免费av片| 激情偷乱人伦小说视频在线观看 | 亚洲最新毛片 | 99精品一级欧美片免费播放 | 天天操人人干 | 91精品推荐 | 亚洲成人国产精品 | 欧美小视频在线观看 | 日韩欧美一区二区在线播放 | 国产精品国产三级国产aⅴ无密码 | 国产大片免费久久 | 97色婷婷| 久久97超碰 | 久久99网站| 日韩系列| 久久免费久久 | 97视频总站 | 丰满少妇高潮在线观看 | 六月丁香在线视频 | 欧美日韩中文国产一区发布 | 色偷偷中文字幕 | 免费网站看v片在线a | 免费看毛片网站 | 亚洲精品国产综合99久久夜夜嗨 | 日色在线视频 | av资源免费在线观看 | 成人福利在线观看 | 欧美人体xx | 97国产精品免费 | 精品国产乱码一区二区三区在线 | 日韩欧美网址 | 婷婷丁香五 | 成人黄色大片在线免费观看 | 亚洲一区二区视频 | 午夜18视频在线观看 | 午夜精品电影一区二区在线 | 欧美日韩国产一区二区三区在线观看 | 日韩高清三区 | 欧美综合在线视频 | 婷婷激情综合网 | 狂野欧美激情性xxxx | 黄色官网在线观看 | 在线中文字幕视频 | 在线观看久久久久久 | 99视频+国产日韩欧美 | 成人性生交视频 | 91黄色免费看 | 日本爽妇网 | 久久www免费视频 | 欧美日韩一区二区视频在线观看 | 波多野结衣电影一区二区 | 亚洲有 在线| 三级在线视频播放 | 欧美视频国产视频 | 在线电影 你懂得 | 一本—道久久a久久精品蜜桃 | 超碰人在线 | 国产一区二区精品久久 | 色婷婷综合久久久久 | 天天射网站 | 久久av中文字幕片 | 国产精品日韩久久久久 | 中文字幕欲求不满 | 不卡的av在线播放 | 国产精品1000 | 久久男人影院 | 国产精品网站 | 久久精品在线视频 | 国产精品私人影院 | 国产在线资源 | 精品亚洲国产视频 | 国产成人久久精品77777综合 | 日韩影视在线观看 | 亚洲天堂色婷婷 | 天天摸日日摸人人看 | 国产麻豆剧传媒免费观看 | 久久久久国产成人精品亚洲午夜 | 欧美精品久久久久久久 | 久草在在线 | 午夜色大片在线观看 | 久草视频中文 | 日韩精品一区二区三区电影 | 在线观看韩日电影免费 | 最新午夜电影 | 欧美一级免费在线 | 免费网站污 | 久草在线观| 国产精品手机看片 | 色狠狠狠 | 香蕉久草| 免费试看一区 | 69国产盗摄一区二区三区五区 | 免费视频一二三区 | 成人av电影免费在线观看 | 欧美日韩啪啪 | 欧美在线视频一区二区三区 | 欧美激情第一页xxx 午夜性福利 | 天天综合区| 日日日爽爽爽 | av中文字幕不卡 | 亚洲欧美va| 中文一区二区三区在线观看 | 97理论电影 | 91传媒免费在线观看 | 又黄又爽又色无遮挡免费 | 日韩在线中文字幕视频 | 五月开心六月婷婷 | 视频福利在线 | 久久亚洲热 | 亚洲精品tv| www五月婷婷 | 亚洲视频 视频在线 | 精品日韩在线 | 又黄又爽又色无遮挡免费 | 日韩精品久久久久久久电影竹菊 | 亚洲精品乱码久久久久久 | 久久久久亚洲精品国产 | 在线之家免费在线观看电影 | 999电影免费在线观看 | 中文字幕在线中文 | 色婷婷视频 | 日本精品视频在线观看 | 美女亚洲精品 | 国产成人一区在线 | 午夜三级福利 | 日韩免费看 | 狠狠干我 | 五月婷婷六月丁香激情 | 黄色三级网站 | 免费看av片网站 | 日韩精品一区二区三区电影 | 久久视频99 | 日韩精品一区二区三区高清免费 | 国产玖玖精品视频 | 天天色天天骑天天射 | 国产精品你懂的在线观看 | 中文字幕免费不卡视频 | 久久亚洲精品电影 | 一级理论片在线观看 | 91试看 | 国产精品久久久精品 | 久久99网站 | 色美女在线 | 91免费视频网站在线观看 | 亚洲一区二区视频 | 色综合天天天天做夜夜夜夜做 | 人人爽人人爽av | 二区在线播放 | 精品免费观看视频 | 日韩有码欧美 | 成片免费观看视频大全 | 久久视频精品 | 日韩欧美精品在线观看 | 日本中文字幕在线看 | 国产成人av电影在线 | 国产精品影音先锋 | 日本久久久亚洲精品 | 国产 日韩 在线 亚洲 字幕 中文 | 91成年视频 | 日韩午夜av | 五月天六月婷婷 | 日本午夜在线亚洲.国产 | 超碰99人人 | 1000部国产精品成人观看 | 国产精品国产亚洲精品看不卡 | 在线一区观看 | 日本特黄特色aaa大片免费 |