Hugo学习笔记三,命令行

查询所有命令

hugo -h

创建Hugo 静态网站

hugo new site mywebsite

创建文章, 当前必须mywebsite下才可创建文章

创建的文章存放在 mywebsite/content/p/test.md下

使用命令创建的hogo可以监控到, 实时显示到预览上

hugo new p/test.md

启动服务, 必须在mywebsite文件夹下启动

hugo server

草稿也预览, -D 参数, 必须在mywebsite文件夹下启动

hugo -D server

指定预览的主题, 必须在mywebsite文件夹下启动

papermod是在themes文件夹下的主题名称

hugo -D server –theme=papermod

指定预览的端口

hugo -D server –port=1313

指定服务绑定在哪个端口, 比如你想在手机预览, 电脑手机同一局域网时

电脑ip 192.168.1.20, 手机访问192.168.1.20就能看到预览

hugo -D server –bind=”192.168.1.20” –port=80

指定预览的默认地址, http://192.168.1.20:1313

指定文件的目录名进行编译

hugo server –source=serif
错误示例

hugo -D server –baseUrl=”http://192.168.1.20/“ –port=1313

访问不到, 没有绑定ip, 访问http://192.168.1.20:1313失败, 访问localhost:1313则显示

访问任意链接被定位到http://192.168.1.20:1313上

正确做法,绑定当前ip.提醒baseUrl最后结尾必须是’/‘

hugo -D server –baseUrl=”http://192.168.1.20/“ –port=1313 –bind=”192.168.1.20”

指定配置文件

hugo -D server –config=config.yml

指定输出静态博客网站的目录lizicai.com, 再次提醒baseUrl最后一位是/

hugo –theme=papermod –baseUrl=”https://lizicai.com/“ –destination=”lizicai.com” –config=config.yml

Hugo学习笔记二,配置文件

除了 Hugo 全局配置 和 菜单配置 之外, LoveIt 主题还允许您在网站配置中定义以下参数 (这是一个示例 config.toml, 其内容为默认值).

  1. ~/myblog/myhugo/config.toml文件
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    baseURL = "http://example.org/"

    # 更改使用 Hugo 构建网站时使用的默认主题
    theme = "LoveIt"

    # 网站标题
    title = "我的全新 Hugo 网站"

    # 网站语言, 仅在这里 CN 大写 ["en", "zh-CN", "fr", "pl", ...]
    languageCode = "zh-CN"
    # 语言名称 ["English", "简体中文", "Français", "Polski", ...]
    languageName = "简体中文"
    # 是否包括中日韩文字
    hasCJKLanguage = true

    # 默认每页列表显示的文章数目
    paginate = 12
    # 谷歌分析代号 [UA-XXXXXXXX-X]
    googleAnalytics = ""
    # 版权描述,仅仅用于 SEO
    copyright = ""

    # 是否使用 robots.txt
    enableRobotsTXT = true
    # 是否使用 git 信息
    enableGitInfo = true
    # 是否使用 emoji 代码
    enableEmoji = true

    # 忽略一些构建错误
    ignoreErrors = ["error-remote-getjson", "error-missing-instagram-accesstoken"]

    # 作者配置
    [author]
    name = "xxxx"
    email = ""
    link = ""

    # 菜单配置
    [menu]
    [[menu.main]]
    weight = 1
    identifier = "posts"
    # 你可以在名称 (允许 HTML 格式) 之前添加其他信息, 例如图标
    pre = ""
    # 你可以在名称 (允许 HTML 格式) 之后添加其他信息, 例如图标
    post = ""
    name = "文章"
    url = "/posts/"
    # 当你将鼠标悬停在此菜单链接上时, 将显示的标题
    title = ""
    [[menu.main]]
    weight = 2
    identifier = "tags"
    pre = ""
    post = ""
    name = "标签"
    url = "/tags/"
    title = ""
    [[menu.main]]
    weight = 3
    identifier = "categories"
    pre = ""
    post = ""
    name = "分类"
    url = "/categories/"
    title = ""
  2. ~/myblog/myhugo/themes/LoveIt/config.toml文件
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    [params]
    # 网站默认主题样式 ["auto", "light", "dark"]
    defaultTheme = "auto"
    # 公共 git 仓库路径,仅在 enableGitInfo 设为 true 时有效
    gitRepo = ""
    # LoveIt 新增 | 0.1.1 哪种哈希函数用来 SRI, 为空时表示不使用 SRI
    # ["sha256", "sha384", "sha512", "md5"]
    fingerprint = ""
    # LoveIt 新增 | 0.2.0 日期格式
    dateFormat = "2006-01-02"
    # 网站标题, 用于 Open Graph 和 Twitter Cards
    title = "我的网站"
    # 网站描述, 用于 RSS, SEO, Open Graph 和 Twitter Cards
    description = "这是我的全新 Hugo 网站"
    # 网站图片, 用于 Open Graph 和 Twitter Cards
    images = ["/logo.png"]

    # 页面头部导航栏配置
    [params.header]
    # 桌面端导航栏模式 ["fixed", "normal", "auto"]
    desktopMode = "fixed"
    # 移动端导航栏模式 ["fixed", "normal", "auto"]
    mobileMode = "auto"
    # LoveIt 新增 | 0.2.0 页面头部导航栏标题配置
    [params.header.title]
    # LOGO 的 URL
    logo = ""
    # 标题名称
    name = ""
    # 你可以在名称 (允许 HTML 格式) 之前添加其他信息, 例如图标
    pre = ""
    # 你可以在名称 (允许 HTML 格式) 之后添加其他信息, 例如图标
    post = ""
    # LoveIt 新增 | 0.2.5 是否为标题显示打字机动画
    typeit = false

    # 页面底部信息配置
    [params.footer]
    enable = true
    # LoveIt 新增 | 0.2.0 自定义内容 (支持 HTML 格式)
    custom = ''
    # LoveIt 新增 | 0.2.0 是否显示 Hugo 和主题信息
    hugo = true
    # LoveIt 新增 | 0.2.0 是否显示版权信息
    copyright = true
    # LoveIt 新增 | 0.2.0 是否显示作者
    author = true
    # 网站创立年份
    since = 2019
    # ICP 备案信息,仅在中国使用 (支持 HTML 格式)
    icp = ""
    # 许可协议信息 (支持 HTML 格式)
    license = '<a rel="license external nofollow noopener noreffer" href="https://creativecommons.org/licenses/by-nc/4.0/" target="_blank">CC BY-NC 4.0</a>'

    # LoveIt 新增 | 0.2.0 Section (所有文章) 页面配置
    [params.section]
    # section 页面每页显示文章数量
    paginate = 20
    # 日期格式 (月和日)
    dateFormat = "01-02"
    # RSS 文章数目
    rss = 10

    # LoveIt 新增 | 0.2.0 List (目录或标签) 页面配置
    [params.list]
    # list 页面每页显示文章数量
    paginate = 20
    # 日期格式 (月和日)
    dateFormat = "01-02"
    # RSS 文章数目
    rss = 10

    # LoveIt 新增 | 0.2.0 应用图标配置
    [params.app]
    # 当添加到 iOS 主屏幕或者 Android 启动器时的标题, 覆盖默认标题
    title = "我的网站"
    # 是否隐藏网站图标资源链接
    noFavicon = false
    # 更现代的 SVG 网站图标, 可替代旧的 .png 和 .ico 文件
    svgFavicon = ""
    # Android 浏览器主题色
    themeColor = "#ffffff"
    # Safari 图标颜色
    iconColor = "#5bbad5"
    # Windows v8-10磁贴颜色
    tileColor = "#da532c"

    # LoveIt 新增 | 0.2.0 搜索配置
    [params.search]
    enable = true
    # 搜索引擎的类型 ["lunr", "algolia"]
    type = "lunr"
    # 文章内容最长索引长度
    contentLength = 4000
    # 搜索框的占位提示语
    placeholder = ""
    # LoveIt 新增 | 0.2.1 最大结果数目
    maxResultLength = 10
    # LoveIt 新增 | 0.2.3 结果内容片段长度
    snippetLength = 50
    # LoveIt 新增 | 0.2.1 搜索结果中高亮部分的 HTML 标签
    highlightTag = "em"
    # LoveIt 新增 | 0.2.4 是否在搜索索引中使用基于 baseURL 的绝对路径
    absoluteURL = false
    [params.search.algolia]
    index = ""
    appID = ""
    searchKey = ""

    # 主页配置
    [params.home]
    # LoveIt 新增 | 0.2.0 RSS 文章数目
    rss = 10
    # 主页个人信息
    [params.home.profile]
    enable = true
    # Gravatar 邮箱,用于优先在主页显示的头像
    gravatarEmail = ""
    # 主页显示头像的 URL
    avatarURL = "/images/avatar.png"
    # LoveIt 更改 | 0.2.7 主页显示的网站标题 (支持 HTML 格式)
    title = ""
    # 主页显示的网站副标题 (允许 HTML 格式)
    subtitle = "这是我的全新 Hugo 网站"
    # 是否为副标题显示打字机动画
    typeit = true
    # 是否显示社交账号
    social = true
    # LoveIt 新增 | 0.2.0 免责声明 (支持 HTML 格式)
    disclaimer = ""
    # 主页文章列表
    [params.home.posts]
    enable = true
    # 主页每页显示文章数量
    paginate = 6
    # LoveIt 删除 | 0.2.0 被 params.page 中的 hiddenFromHomePage 替代
    # 当你没有在文章前置参数中设置 "hiddenFromHomePage" 时的默认行为
    defaultHiddenFromHomePage = false

    # 作者的社交信息设置
    [params.social]
    GitHub = "xxxx"
    Linkedin = ""
    Twitter = "xxxx"
    Instagram = "xxxx"
    Facebook = "xxxx"
    Telegram = "xxxx"
    Medium = ""
    Gitlab = ""
    Youtubelegacy = ""
    Youtubecustom = ""
    Youtubechannel = ""
    Tumblr = ""
    Quora = ""
    Keybase = ""
    Pinterest = ""
    Reddit = ""
    Codepen = ""
    FreeCodeCamp = ""
    Bitbucket = ""
    Stackoverflow = ""
    Weibo = ""
    Odnoklassniki = ""
    VK = ""
    Flickr = ""
    Xing = ""
    Snapchat = ""
    Soundcloud = ""
    Spotify = ""
    Bandcamp = ""
    Paypal = ""
    Fivehundredpx = ""
    Mix = ""
    Goodreads = ""
    Lastfm = ""
    Foursquare = ""
    Hackernews = ""
    Kickstarter = ""
    Patreon = ""
    Steam = ""
    Twitch = ""
    Strava = ""
    Skype = ""
    Whatsapp = ""
    Zhihu = ""
    Douban = ""
    Angellist = ""
    Slidershare = ""
    Jsfiddle = ""
    Deviantart = ""
    Behance = ""
    Dribbble = ""
    Wordpress = ""
    Vine = ""
    Googlescholar = ""
    Researchgate = ""
    Mastodon = ""
    Thingiverse = ""
    Devto = ""
    Gitea = ""
    XMPP = ""
    Matrix = ""
    Bilibili = ""
    Discord = ""
    DiscordInvite = ""
    Lichess = ""
    ORCID = ""
    Pleroma = ""
    Kaggle = ""
    MediaWiki= ""
    Plume = ""
    HackTheBox = ""
    RootMe= ""
    Phone = ""
    Email = "xxxx@xxxx.com"
    RSS = true # LoveIt 新增 | 0.2.0

    # LoveIt 更改 | 0.2.0 文章页面全局配置
    [params.page]
    # LoveIt 新增 | 0.2.0 是否在主页隐藏一篇文章
    hiddenFromHomePage = false
    # LoveIt 新增 | 0.2.0 是否在搜索结果中隐藏一篇文章
    hiddenFromSearch = false
    # LoveIt 新增 | 0.2.0 是否使用 twemoji
    twemoji = false
    # 是否使用 lightgallery
    lightgallery = false
    # LoveIt 新增 | 0.2.0 是否使用 ruby 扩展语法
    ruby = true
    # LoveIt 新增 | 0.2.0 是否使用 fraction 扩展语法
    fraction = true
    # LoveIt 新增 | 0.2.0 是否使用 fontawesome 扩展语法
    fontawesome = true
    # 是否在文章页面显示原始 Markdown 文档链接
    linkToMarkdown = true
    # LoveIt 新增 | 0.2.4 是否在 RSS 中显示全文内容
    rssFullText = false
    # LoveIt 新增 | 0.2.0 目录配置
    [params.page.toc]
    # 是否使用目录
    enable = true
    # LoveIt 新增 | 0.2.9 是否保持使用文章前面的静态目录
    keepStatic = true
    # 是否使侧边目录自动折叠展开
    auto = true
    # LoveIt 新增 | 0.2.0 代码配置
    [params.page.code]
    # 是否显示代码块的复制按钮
    copy = true
    # 默认展开显示的代码行数
    maxShownLines = 50
    # LoveIt 更改 | 0.2.0 KaTeX 数学公式
    [params.page.math]
    enable = true
    # LoveIt 更改 | 0.2.11 默认行内定界符是 $ ... $ 和 \( ... \)
    inlineLeftDelimiter = ""
    inlineRightDelimiter = ""
    # LoveIt 更改 | 0.2.11 默认块定界符是 $$ ... $$, \[ ... \], \begin{equation} ... \end{equation} 和一些其它的函数
    blockLeftDelimiter = ""
    blockRightDelimiter = ""
    # KaTeX 插件 copy_tex
    copyTex = true
    # KaTeX 插件 mhchem
    mhchem = true
    # LoveIt 新增 | 0.2.0 Mapbox GL JS 配置
    [params.page.mapbox]
    # Mapbox GL JS 的 access token
    accessToken = ""
    # 浅色主题的地图样式
    lightStyle = "mapbox://styles/mapbox/light-v10?optimize=true"
    # 深色主题的地图样式
    darkStyle = "mapbox://styles/mapbox/dark-v10?optimize=true"
    # 是否添加 NavigationControl
    navigation = true
    # 是否添加 GeolocateControl
    geolocate = true
    # 是否添加 ScaleControl
    scale = true
    # 是否添加 FullscreenControl
    fullscreen = true
    # LoveIt 更改 | 0.2.0 文章页面的分享信息设置
    [params.page.share]
    enable = true
    Twitter = true
    Facebook = true
    Linkedin = false
    Whatsapp = false
    Pinterest = false
    Tumblr = false
    HackerNews = true
    Reddit = false
    VK = false
    Buffer = false
    Xing = false
    Line = true
    Instapaper = false
    Pocket = false
    Flipboard = false
    Weibo = true
    Blogger = false
    Baidu = false
    Odnoklassniki = false
    Evernote = false
    Skype = false
    Trello = false
    Mix = false
    # LoveIt 更改 | 0.2.0 评论系统设置
    [params.page.comment]
    enable = false
    # Disqus 评论系统设置
    [params.page.comment.disqus]
    # LoveIt 新增 | 0.1.1
    enable = false
    # Disqus 的 shortname,用来在文章中启用 Disqus 评论系统
    shortname = ""
    # Gitalk 评论系统设置
    [params.page.comment.gitalk]
    # LoveIt 新增 | 0.1.1
    enable = false
    owner = ""
    repo = ""
    clientId = ""
    clientSecret = ""
    # Valine 评论系统设置
    [params.page.comment.valine]
    enable = false
    appId = ""
    appKey = ""
    placeholder = ""
    avatar = "mp"
    meta= ""
    pageSize = 10
    # 为空时自动适配当前主题 i18n 配置
    lang = ""
    visitor = true
    recordIP = true
    highlight = true
    enableQQ = false
    serverURLs = ""
    # LoveIt 新增 | 0.2.6 emoji 数据文件名称, 默认是 "google.yml"
    # ["apple.yml", "google.yml", "facebook.yml", "twitter.yml"]
    # 位于 "themes/LoveIt/assets/lib/valine/emoji/" 目录
    # 可以在你的项目下相同路径存放你自己的数据文件:
    # "assets/lib/valine/emoji/"
    emoji = ""
    # Facebook 评论系统设置
    [params.page.comment.facebook]
    enable = false
    width = "100%"
    numPosts = 10
    appId = ""
    # 为空时自动适配当前主题 i18n 配置
    languageCode = "zh_CN"
    # LoveIt 新增 | 0.2.0 Telegram Comments 评论系统设置
    [params.page.comment.telegram]
    enable = false
    siteID = ""
    limit = 5
    height = ""
    color = ""
    colorful = true
    dislikes = false
    outlined = false
    # LoveIt 新增 | 0.2.0 Commento 评论系统设置
    [params.page.comment.commento]
    enable = false
    # LoveIt 新增 | 0.2.5 utterances 评论系统设置
    [params.page.comment.utterances]
    enable = false
    # owner/repo
    repo = ""
    issueTerm = "pathname"
    label = ""
    lightTheme = "github-light"
    darkTheme = "github-dark"
    # giscus comment 评论系统设置 (https://giscus.app/zh-CN)
    [params.page.comment.giscus]
    # 你可以参考官方文档来使用下列配置
    enable = false
    repo = ""
    repoId = ""
    category = "Announcements"
    categoryId = ""
    # 为空时自动适配当前主题 i18n 配置
    lang = ""
    mapping = "pathname"
    reactionsEnabled = "1"
    emitMetadata = "0"
    inputPosition = "bottom"
    lazyLoading = false
    lightTheme = "light"
    darkTheme = "dark"
    # LoveIt 新增 | 0.2.7 第三方库配置
    [params.page.library]
    [params.page.library.css]
    # someCSS = "some.css"
    # 位于 "assets/"
    # 或者
    # someCSS = "https://cdn.example.com/some.css"
    [params.page.library.js]
    # someJavascript = "some.js"
    # 位于 "assets/"
    # 或者
    # someJavascript = "https://cdn.example.com/some.js"
    # LoveIt 更改 | 0.2.10 页面 SEO 配置
    [params.page.seo]
    # 图片 URL
    images = []
    # 出版者信息
    [params.page.seo.publisher]
    name = ""
    logoUrl = ""

    # LoveIt 新增 | 0.2.5 TypeIt 配置
    [params.typeit]
    # 每一步的打字速度 (单位是毫秒)
    speed = 100
    # 光标的闪烁速度 (单位是毫秒)
    cursorSpeed = 1000
    # 光标的字符 (支持 HTML 格式)
    cursorChar = "|"
    # 打字结束之后光标的持续时间 (单位是毫秒, "-1" 代表无限大)
    duration = -1

    # 网站验证代码,用于 Google/Bing/Yandex/Pinterest/Baidu
    [params.verification]
    google = ""
    bing = ""
    yandex = ""
    pinterest = ""
    baidu = ""

    # LoveIt 新增 | 0.2.10 网站 SEO 配置
    [params.seo]
    # 图片 URL
    image = ""
    # 缩略图 URL
    thumbnailUrl = ""

    # LoveIt 新增 | 0.2.0 网站分析配置
    [params.analytics]
    enable = false

Hugo学习笔记一,初步运行一遍

安装hugo
  1. 官网地址: https://gohugo.io/
  2. github官网地址:https://github.com/gohugoio/hugo,进入后再进入release页,然后下载 linux的安装文件,安装之。
初步使用
  1. 生成hugo 博客目路并自动初始化

    1
    2
    3
    $ mkdir myblog
    $ cd myblog
    $ hugo new site myhugo #在当前目录下创建myweb站点目录,生成的目录结构如下:

    archetypes 目录中定义了Hugo创建markdown文件的模板。
    content 存放markdown文件。
    data 存放数据文件。
    layouts 存放模板文件。
    static 存放静态文件。
    themes 存放主题。
    config.toml 配置文件。

  2. 下载主题,并使用之

    1
    2
    3
    4
    5
    6
    $ cd ~/myblog/myhugo
    $ git clone https://github.com/dillonzq/LoveIt.git themes/LoveIt # 下载LoveIt主题
    $ git clone https://github.com/panr/hugo-theme-terminal.git themes/terminal # 下载terminal主题
    $ git clone https://github.com/wowchemy/starter-hugo-research-group themes/research-group

    $ hugo server -t LoveIt # 运行hugo,并采用LoveIt主题。这只是初步使用,可通过设置,不用在命令行来指定
  3. 采用下载的主题范例
    以 hugo-serif-theme主题为例

    1
    2
    3
    4
    5
    6
    $ cd myblog/themes/hugo-serif-theme/ #进入主题目录
    $ cp -r exampleSite ../../ # 把主题的范例目录copy到myblog目录下
    $ cd ~/myblog/ # 回到myblog目录
    $ mv exampleSite serif # 给范例目录改名
    $ hugo server --source=serif # 指定文件的目录名进行编译
    # 如果出错,修改 serif目录下的config.toml文件,把主题目录改成正确的就行
  4. 修改 ~/myblog/myhugo/config.toml文件,增加
    theme = “XXXX”,可指定默认主题

编写第一个文章
  1. 生成文档
    1
    $ hugo new posts/first_post.md # 在content下生成posts目录,并生成first_post.md文档
  2. 内容
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ---
    title: "Hugo学习笔记一,初步运行一遍"
    date: 2022-11-18T11:40:38+08:00
    tags: ["Hugo"]
    categories: ["stucy"]
    toc:
    enable: true
    description: 学习hugo的笔记1,初接触
    draft: true
    ---
  3. 一些经验
    其实 hugo 在新建文章时,不一定要 hugo new posts/xxxx.md。

可以 hugo new xxxx.md,这样会在 content 目录下新建文件 xxxx.md,网站中可以通过 /xxxx 来访问。

还可以 hugo new /xxxx.md,这样会在 content 目录下的 目录下新建文件 xxxx.md(若文件夹 不存在则会自动新建),网站中可以通过 //xxxx 来访问。此时,在网站中访问 / 即可显示目录下所有文章的列表,实现文章聚合。

对于每一个 的聚合,我们可以在网站目录下的 archetypes 目录中,新建一个 .md 文件,则可创建该类聚合的模板,后续的每一次 hugo new /xxxx.md 都会以 .md 为模板。

在本地启动网站
1
$ hugo server -D --bind "0.0.0.0" # 浏览器中用http://0.0.0.0:1313/查看
部署到GitHub
  1. 在github上建立自己的仓库,比如 laoshiren,那么未来你的主页就会是laoshiren.github.io
  2. 修改 ~/myblog/myhugo/config.toml文件
    修改config.toml文件中的baseURL为https://laoshiren.github.io
  3. 执行
    1
    2
    3
    4
    5
    6
    7
    cd public
    git init
    git remote add origin https://github.com/GitHub账号名/laoshiren.github.io.git
    #此URL可在你的repo中找到
    git add .
    git commit -m "update %date%,%time%"
    git push origin master

听抖音听到的金句

最近听抖音时,不小心听到的金句
  1. 现实生活中,有许多我们求而不得的东西;但也有许多唾手可得的幸福,我们却没有去珍惜。
  2. 曾经我们嫌弃的家乡,现在看来才是最亲近最适合的城市。
  3. 别把公司的影响力,错当成自己的影响力。—-给要离职的员工忠告。
  4. 世界不是你们的,也不是我们的,是属于厚脸皮人的。
  5. 少说些风凉话,阴阳怪气的没有价值。可以批判,但不要背叛。
  6. 越是心虚的人,越是要靠金装来显摆。
  7. 每一只鸡都以为太阳是自己叫出来的
  8. 真相本身不造成恐慌,真相的缺席才令人恐慌
  9. 局外人的理性往往是无情且傲慢的——总有那么一些人,喜欢站在上帝的视角说风凉话,而且还显得正义无比。我们如此全能全知,如此理性理智,不过是因为我们是局外人而已。这种看客似的上帝视角,其实是一种最大的傲慢。
  10. 最难沟通的不是没有文化的人,而是被灌输了标准答案的人
  11. 有时候只要放下,尴尬就会过去了,难的是一开始就放下。
  12. 只要你足够优秀,女朋友都在幼儿园
  13. 人的生理有三样无法控制,喷嚏放屁和一柱擎天
  14. 当发现错了就尽快改,不管多大的代价都是最小的代价—段永平
10个进货的网站
  1. 生意网(童装批发)
  2. 众人店(特产批发)
  3. 一亩田(农产品)
  4. 义乌购(小商品)
  5. 温州国际鞋城(鞋)
  6. 挚爱母婴
  7. 玩具巴巴
  8. 包牛牛
  9. 58食品网
  10. 1688
pyscrip

在github上有15K的星,在网页内直接写python代码,与javascript一样。python也能写前端了。

关于高边(high side)与低边(low side)

最近与朋友聊到,我们的REF7306可以高边(high side)与低边(low side),然后朋友问我,啥子叫high side与low side,我……

  1. 先看图1
    图1,MOS管的高边与低边

图2,三级管的高边与低边,MOS管的高边与低边
2. 驱动负载有两种基本方法:低边驱动,高边驱动。
电路中,晶体管常常被用来当做开关使用。晶体管用作开关时有两种不同的接线方式:高边(high side)和低边(low side)。高边和低边是由晶体管在电路中的位置决定的。晶体管可以是双极性晶体管(BJT)或者场效应管(MOSFET)。
左边
图3 ,左边,开关接地,也就是说开关管在负载和地之间,是低边电路
图3 ,右边,开关连接在电源正极和负载高电压端之间,是高边电路

图3,高边与低边是由开关的位置决定的

  1. 低边晶体管电路
    低边开关,晶体管接地,也就是说晶体管在负载和地之间。由于晶体管正在开关接地线路或位于负载的低电压端,因此称为低边开关。
    通常使用 NPN 型三极管或者 N 沟道场效应管。
    图4,低边电路
    对于 NPN 三极管来说,发射极接地,集电极连接到负载。作为开关,三极管工作在饱和状态。饱和意味着有足够的基极电流来完全开启三极管。
    对于 N 沟道场管来说,源极接地,漏极连接到负载的负侧。虽然您可以在该电路中使用结型场效应管(JFET),但增强型场管效果更好。注意:场管有一个下拉电阻。
    低边驱动特点:容易实现(电路也比较简单,一般由MOS管加几个电阻、电容)、适用电路简化和成本控制的情况。

  2. 高边晶体管电路
    与低边开关相对的是高边开关。晶体管连接在电源正极和负载高电压端之间。在 Arduino 或 Raspberry Pi 电路中使用这些晶体管可能会有些困难。
    通常使用 PNP 型三极管或者 P 沟道场效应管。
    图5,高边电路
    对于 PNP 型三极管来说,发射极连接到电压正极,而集电极连接到负载。对比上面的低边三极管开关电路,PNP 的发射极和集电极正好是与之颠倒的。就像 NPN 三极管一样,PNP 三极管需要在饱和区工作才能完全导通晶体管。
    对于 P 沟道场管来说,源极连接到电压正极,漏极连接负载。与低边开关一样,您可能希望使用增强型场效应管。注意:场管有一个上拉电阻。
    图6,高边电路
    当被控信号(负载电路)的电压电压和控制信号电压相同时,如果使用 P 型晶体管,上面的电路可以正常工作。值得注意的是 P 管是个反管,也就是说,输入高电平时,电路不导通,输入低电平时导通。
    高边驱动器的设计比同等的低边复杂一些,一个原因是它通常使用(NMOSFET)作为功率元件。NMOSFET是优选的,因为它们可以制造得比p沟道器件更小且更便宜,以获得相同的性能。但是NMOSFET通过将栅极电压升高到漏极电压以上而导通。在汽车应用中,漏极电压通常是系统中的最高电压(即电池电压),因此需要额外的升压器件将栅极电压提升到足够的水平。

  3. 高边晶体管为什么会存在
    对于开关来说,使用低边开关简单易用,易于理解。而且,对于双极型(BJT)晶体管和场管来说,P 管通常比 N 管具有更大的电阻值(或更低的电流输出能力)。既然如此,它们为什么存在呢?
    低边开关电路切换的是对地的导通,高边开关电路切换的是对电源的导通。有时候,你想保持接地并且控制对电源的导通与否。还有一个原因就是,即使晶体管完全导通,其两端仍然存在一个很小的压降。这意味着,被控制器件的接地不是完全接地的 0 伏电压。对于像 LED 这样的器件,切换电源或是地并不重要。但是,对于像 MCU 这样的的有源设备需要良好的接地!这种情形需要用到高边管。还有一种情况就是开关电源中,需要控制对待转换电源的通断,也需要高边管。还有一些其他的情况,我们不一一赘述。
    总体来说,如果你要打开或关闭器件,低边开关是一个简单的解决方案。但是,如果你要控制的是整个电路或电压敏感设备的供电,则需要使用高边开关。

  4. 晶体管驱动另一个晶体管
    晶体管驱动电路是指用来驱动另一个晶体管的电路。晶体管驱动电路被用在当驱动信号电压(或电流)和被控晶体管电压不同的情况。下图是需要晶体管驱动的两种情况。
    图7,晶体官驱动另一个晶体管
    大电流场管具有相当大的栅源极阈值电压(Vgs)。虽然来自 Arduino GPIO 引脚的 5 伏电压可能足以打开晶体管,但不足以使其进入饱和状态。在场管饱和之前,其导通电阻可能相对较高,从而限制了它可以处理的最大电流。
    当被控电压高于控制信号电压时,用 NPN 三极管驱动 PNP 三极管 或 P 沟道场管是很常见的。如果没有驱动电路,晶体管可能永远不会关断。

广东省内游之四,深圳六个海边栈道(摘抄自头条定格深圳)

1.大小梅沙海滨栈道

环海⽽建,⼀眼望去皆是海景,栈道连接了⼤⼩梅沙,还可以去打卡
大小梅沙海滨栈道1
大小梅沙海滨栈道2
大小梅沙海滨栈道3
大小梅沙海滨栈道4
大小梅沙海滨栈道5

2.深圳湾海滨栈道

蜿蜒在深圳湾畔,全长近17公里,沿途串连了二十余个主题公园
深圳湾海滨栈道1
深圳湾海滨栈道2
深圳湾海滨栈道3
深圳湾海滨栈道4
深圳湾海滨栈道5

3.深圳天文台海滨栈道

依山而建,蜿蜒曲折,直通大海,你可以边感受海风拂面,边欣赏山川大海
深圳天文台海滨栈道1
深圳天文台海滨栈道2
深圳天文台海滨栈道3
深圳天文台海滨栈道4
深圳天文台海滨栈道5

4.前海⽯公园海边栈道

漫步栈道,海对岸的跨海⼤桥、鳞次栉⽐的城市⾼楼,震撼⼜浪漫的巨型摩天轮…..
前海石公园海边栈道1
前海石公园海边栈道2
前海石公园海边栈道3
前海石公园海边栈道4
前海石公园海边栈道5
前海石公园海边栈道6

5.S型公路旁的海滨栈道

位于万科十七英里与玫瑰海岸中间,藏了一条长长的海边栈道。
S型公路旁的海滨栈道1
S型公路旁的海滨栈道2
S型公路旁的海滨栈道3
S型公路旁的海滨栈道5
S型公路旁的海滨栈道6
S型公路旁的海滨栈道7

6.背仔角海滨栈道

栈道的尽头还藏着一座灯塔,蓝天白云下,红白相间的灯塔极具视觉冲击。
背仔角海滨栈道1
背仔角海滨栈道2
背仔角海滨栈道3
背仔角海滨栈道4
背仔角海滨栈道5

广东省内游之三,深圳网红打卡点(摘抄自头条定格深圳)

深圳10个充满异域风情的好去处,我只选了其中六个

一.官湖村 — 被吹成是 日本“小镰仓”风情

深圳官湖村1
深圳官湖村2
深圳官湖村3
深圳官湖村4
深圳官湖村5

官湖村,又被称为深圳的“小镰仓”,不仅有同款碧海蓝天、银白沙滩,更有一个神似镰仓车站的小路口,漫步其中有种走在日本镰仓街头的错觉,来这里逛逛,随处可见的海滨风情

二. 玫瑰海岸, 被吹成是 “圣托里尼”海岛风情 “,拍婚纱照的好地方,不适合游泳。

玫瑰海岸1
玫瑰海岸2
玫瑰海岸3
玫瑰海岸4

蔚蓝大海、红色大桥、各色城堡…,加上玫瑰海岸别具特色的海景,让你仿佛来到了“圣托里尼”,不仅可以感受到海岸风情,拍婚纱照的好地方

三. 杨梅坑, 被吹成是 | 英国度假山庄风情 |,但的确值的一去。

杨梅坑1
杨梅坑2
杨梅坑3
杨梅坑4

杨梅坑,深圳看海的绝佳去处,海水清澈透亮、沙滩干净细腻,临海的悬崖张牙舞爪、岩石粗犷狂野,半山上还藏着浪漫的鹿嘴山庄,远远望去有种英国度假庄园的风情

四. 大沙河生态长廊, 以前的臭水河,治理后,被吹成是 | “塞纳河”河畔风情 |

大沙河1
大沙河2
大沙河3
大沙河4

大沙河生态长廊是深圳最大的生态长廊,大沙河纵贯南山区,全长13.7km ,总面积95万㎡,潺潺的流水、盎然的绿意,来这里散散步,感受“塞纳河”的河畔风情

五. 欧洲印象, 几个破房子,被神吹成| 仿若欧洲风情小镇 |

欧洲小镇1
欧洲小镇2
欧洲小镇3

唯一特点只能是拍照好看

超多的拍照打卡点,让你随手拍出欧洲风情满满的照片

六. 烟墩山生态公园,被神吹成| 西班牙建筑风情 |

烟墩山生态公园1
烟墩山生态公园2
烟墩山生态公园3
烟墩山生态公园4
烟墩山生态公园5
烟墩山生态公园6

约56000㎡的公园满满西班牙风情,等比例复刻了一座“海格力斯灯塔”,逼真程度让人仿佛窥见了明媚的西班牙海岸,灯塔旁边的红砖小楼,复古味十足,公园还私藏了条沿海而建的砖红色木质栈道。

Hexo重新布置到github出错

本来在github上部署的,可是因为速度慢,转战到gitee上了。然而两年中一直写技术文章没有问题。可是因为看了网络小说,想写出一些糟点,因为有点儿关键字,总是不给更新。一气之下,决定转回github,然而竟然部署失败了……

1
2
3
4
5
6
7
8
9
fatal: 'https://github.com/你的用户名/你的用户名.github.io.git/' 鉴权失败
FATAL {
err: Error: Spawn failed
at ChildProcess.<anonymous> (/home/主目录名/myblog/node_modules/hexo-util/lib/spawn.js:51:21)
at ChildProcess.emit (node:events:513:28)
at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12) {
code: 128
}
} Something's wrong. Maybe you can find the solution here: %s https://hexo.io/docs/troubleshooting.html
  1. 反复登录用户名,与密码,木有错误。然而还是失败

  2. ssh的密钥重新生成,并重新更新在github上,确认没有错。然而还是失败

    然后百度搜索了“鉴权失败”那一行,给出的解决办法
  3. 进入github.com我的主页里,

    setting

    Developer settings

    Personal access tokens

    new access tokens

的时候有个时间选择,可以选择某个时间长度(一个月、三个月什么的,因为我个人用的就选择的永不过期),然后创建成功后会有个token,把它当作密码,在你重新推送你项目的时候,命令行提示你输入邮箱和密码的时候,把这个token当密码输入(复制即可)。满决欢喜的试,然而还是失败了。当时陷入误区,还反复试了三遍!!!

以为没有半法了,过了三天,才想起来百度 hexo的错误代码。给出试错
  1. 以下方法。还是失败了

    1
    2
    3
    4
    $ cd myblog
    $ rm -rf .deploy_git
    $ git config --global core.autocrlf false #把git加入系统环境变量
    $ hexo clean & hexo g & hexo d
  2. 再查,以下方法成功了

    1
    2
    $ cd myblog
    $ vim _config.yml #到最后几行
    1
    2
    3
    4
    5
    6
    7
    8
    # Deployment
    ## Docs: https://hexo.io/docs/one-command-deployment
    deploy:
    type: git
    repo: https://github.com/YourName/YourName.github.io.git(不要使用这个)
    git@github.com:YourName/YourName.github.io.git(用这个)
    branch: master
    $ hexo clean & hexo g & hexo d

在Ubuntu系统中安装Docker

官网安装教程:
https://docs.docker.com/engine/install/ubuntu/

一.卸载docker-engine旧版本:
1
$ sudo apt-get remove docker docker-engine docker.io containerd runc

完全卸载所有docker相关文件的操作方式:

1
2
3
$ sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin
$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd
二. 安装方法
  1. 设置存储库 更新apt包索引并安装包,以允许apt通过HTTPS使用存储库:
1
2
3
$ sudo apt-get update
$ sudo apt-get install ca-certificates curl
gnupg lsb-release
  1. 添加Docker的官方GPG密钥:

    1
    2
    $ sudo mkdir -p /etc/apt/keyrings
    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  2. 使用以下命令设置存储库:

1
2
3
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

配置镜像加速器

1
2
3
4
5
6
7
8
9
$ sudo mkdir -p /etc/docker
$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://5sxvtqpp.mirror.aliyuncs.com"]
}
EOF

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
  1. 安装Docker引擎

    1
    2
    $ sudo apt-get update
    $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  2. 启动Docker服务

    1
    $ sudo service docker start
  3. 验证Docker安装是否成功。

    1
    $ sudo docker run hello-world