Commit 722c3189 authored by liziwl's avatar liziwl
Browse files

引入清华文档,内容尚未完全更新

parent b823d998
Loading
Loading
Loading
Loading
+179 −63
Original line number Diff line number Diff line
@@ -3,82 +3,198 @@ env: {}
# FILE GENERATED WITH: npx ghat fregante/ghatemplates/action-release
# SOURCE: https://github.com/fregante/ghatemplates

name: Release manually
name: Release

on:
  workflow_dispatch:
    # You can manually trigger a deployment on GitHub.com
    # https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/
    inputs:
      Version:
        description: 'Example: v1.2.3'
        required: true
  push:
    branches:
      - "master"

jobs:
  release:
  build_latex:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 50
      - run: git tag ${{ github.event.inputs.Version }}
      - uses: fregante/release-with-changelog@v3
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          exclude: '^meta|^document|^lint|^refactor|readme|dependencies|注释|文档|ci|CI|README'
          commit-template: '- {title}  {hash}'
          template: |
            ### Changelog
      - name: Checkout
        uses: actions/checkout@v2

            {commits}

            {range}
      # - name: Update major tag
      #   run: |
      #     MAJOR=$(echo ${{ github.event.inputs.Version }} | sed 's/\..*//')
      #     git push origin HEAD:refs/tags/$MAJOR --force
      - name: Compile LaTeX document
        uses: xu-cheng/texlive-action/full@v1
        with:
          run: |
            apk add make
            make doc
            make test
            make clean

      - name: Archive Release
        uses: thedoctor0/zip-release@master
        with:
          filename: 'sustech-thesis.zip'
          filename: 'sustech-thesis_dev-build.zip'
          exclusions: '*.git* /*node_modules/* .editorconfig'
      - name: Upload binaries to release
        uses: svenstaro/upload-release-action@v2

      - name: Upload release artifact
        uses: actions/upload-artifact@v2
        with:
          repo_token: ${{ secrets.GITHUB_TOKEN }}
          file: 'sustech-thesis.zip'
          asset_name: sustech-thesis-${{ github.event.inputs.Version }}.zip
          tag: ${{ github.event.inputs.Version }}
          overwrite: true
          name: 'sustech-thesis_dev-build'
          path: 'sustech-thesis_dev-build.zip'

  sync:
    runs-on: ubuntu-latest
    name: Sync to other git service
    if: always() && github.repository_owner == 'SUSTech-CRA'
    needs: release
      - name: Upload Pre-release artifact
        uses: actions/upload-artifact@v2
        with:
          name: 'pre-release-artifacts_action_build'
          path: |
            sustechthesis.cls
            sustechthesis.pdf
            public-test/*.pdf

  pre-release:
    name: "Pre Release"
    runs-on: "ubuntu-latest"
    needs: build_latex
    if: always() && github.event_name == 'push'
    steps:
      - uses: actions/download-artifact@v2
        name: Download artifact
      - uses: "marvinpinto/action-automatic-releases@latest"
        name: Auto pre-release
        with:
          repo_token: "${{ secrets.GITHUB_TOKEN }}"
          automatic_release_tag: "dev-latest"
          prerelease: true
          title: "Dev Build(预发布)"
          files: |
            pre-release-artifacts_action_build/sustechthesis.cls
            pre-release-artifacts_action_build/sustechthesis.pdf
            pre-release-artifacts_action_build/public-test/*.pdf
            sustech-thesis_dev-build/sustech-thesis_dev-build.zip

  # release-by-changelog:
  #   runs-on: ubuntu-latest
  #   needs: build_latex
  #   steps:
  #   - name: Checkout
  #     uses: actions/checkout@v2
  #   - name: Download artifact
  #     uses: actions/download-artifact@v2
  #   - name: Extract release information from the changelog
  #     uses: denisa/clq-action@v1.0.2
  #     id: clq-extract
  #     with:
  #       mode: release
  #   - name: Echo changelog values
  #     run: |
  #       echo "$release_name"
  #       echo "$release_tag -- $release_status"
  #       echo "$body"
  #     env:
  #       release_tag: ${{ steps.clq-extract.outputs.tag }}
  #       release_name: ${{ steps.clq-extract.outputs.name }}
  #       release_status: ${{ steps.clq-extract.outputs.status }}
  #       body: ${{ steps.clq-extract.outputs.changes }}
  #   - name: Validate the tag has not yet been used
  #     if: steps.clq-extract.outputs.status == 'released' || steps.clq-extract.outputs.status == 'prereleased'
  #     id: tag_is_exist
  #     env:
  #       TAG: ${{ steps.clq-extract.outputs.tag }}
  #     run: |
  #       echo '::set-output name=flag::false'
  #       if git ls-remote --exit-code --tags origin "refs/tags/$TAG" >/dev/null 2>&1; then
  #         echo "::error ::tag $TAG exists already, need to update changelog manually"
  #         echo '::set-output name=flag::true'
  #       fi
  #   - uses: actions/create-release@v1.1.4
  #     # 如果已有对应 tag 跳过该步骤
  #     if: steps.tag_is_exist.outputs.flag == 'false' && (steps.clq-extract.outputs.status == 'released' || steps.clq-extract.outputs.status == 'prereleased')
  #     env:
  #       GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  #     with:
  #       tag_name: ${{ steps.clq-extract.outputs.tag }}
  #       release_name: ${{ steps.clq-extract.outputs.name }}
  #       prerelease: ${{ steps.clq-extract.outputs.status == 'prereleased' }}
  #       body: ${{ steps.clq-extract.outputs.changes }}
  #   - name: Upload binaries to release
  #     if: steps.tag_is_exist.outputs.flag == 'false' && (steps.clq-extract.outputs.status == 'released' || steps.clq-extract.outputs.status == 'prereleased')
  #     uses: svenstaro/upload-release-action@v2
  #     with:
  #       repo_token: ${{ secrets.GITHUB_TOKEN }}
  #       file: 'sustech-thesis_dev-build/sustech-thesis_dev-build.zip'
  #       asset_name: sustech-thesis-${{ steps.clq-extract.outputs.tag }}.zip
  #       tag: ${{ steps.clq-extract.outputs.tag }}
  #       overwrite: true
  #   - name: Skip if unreleased
  #     if: steps.clq-extract.outputs.status == 'Unreleased'
  #     env:
  #       release_status: ${{ steps.clq-extract.outputs.status }}
  #     run: |
  #       echo "::error ::Skip rest steps if unreleased changelog"
  #       exit 0


  # release:
  #   runs-on: ubuntu-latest
  #   needs: build_latex
  #   if: always() && github.event_name == 'workflow_dispatch'
  #   # if: always() && github.repository_owner == 'SUSTech-CRA' && github.event_name == 'workflow_dispatch'
  #   steps:
  #     - uses: actions/checkout@v2
  #       with:
  #         fetch-depth: 2
  #     - run: git tag ${{ github.event.inputs.Version }}
  #     - uses: fregante/release-with-changelog@v3
  #       with:
  #         token: ${{ secrets.GITHUB_TOKEN }}
  #         exclude: '^meta|^document|^lint|^refactor|readme|dependencies|注释|文档|ci|CI|README'
  #         commit-template: '- {title} ← {hash}'
  #         template: |
  #           ### Changelog

    # - name: Push to gitee
  #           {commits}

  #           {range}
  #     # - name: Update major tag
  #     #   run: |
  #     #     MAJOR=$(echo ${{ github.event.inputs.Version }} | sed 's/\..*//')
  #     #     git push origin HEAD:refs/tags/$MAJOR --force

  #     - uses: actions/download-artifact@v2
  #       with:
  #         name: 'sustech-thesis-action-build'
  #     - name: Upload binaries to release
  #       uses: svenstaro/upload-release-action@v2
  #       with:
  #         repo_token: ${{ secrets.GITHUB_TOKEN }}
  #         file: 'sustech-thesis_action-build.zip'
  #         asset_name: sustech-thesis-${{ github.event.inputs.Version }}.zip
  #         tag: ${{ github.event.inputs.Version }}
  #         overwrite: true

  # sync:
  #   runs-on: ubuntu-latest
  #   name: Sync to other git service
  #   if: always() && github.repository_owner == 'SUSTech-CRA'
  #   needs: release-by-changelog
  #   steps:

  #   # - name: Push to gitee
  #   #   run: |
  #   #     mkdir -p /tmp/tmp_push
  #   #     cd /tmp/tmp_push
  #   #     git clone --bare https://github.com/liziwl/sustech-master-thesis.git this_repo
  #   #     cd this_repo
  #   #     git push --force --mirror "https://${USER}:${PERSONAL_TOKEN}@${REPO_URL}"
  #   #   env:
  #   #     USER: ${{ secrets.GITEE_USER }}
  #   #     PERSONAL_TOKEN: ${{ secrets.GITEE_PERSONAL_TOKEN }}
  #   #     REPO_URL: "gitee.com/liziwl/sustech-master-thesis.git"

  #   - name: Push to sustech-git
  #     run: |
    #     mkdir -p /tmp/tmp_push
    #     cd /tmp/tmp_push
  #       mkdir -p /tmp/tmp_push2
  #       cd /tmp/tmp_push2
  #       git clone --bare https://github.com/liziwl/sustech-master-thesis.git this_repo
  #       cd this_repo
  #       git push --force --mirror "https://${USER}:${PERSONAL_TOKEN}@${REPO_URL}"
  #     env:
    #     USER: ${{ secrets.GITEE_USER }}
    #     PERSONAL_TOKEN: ${{ secrets.GITEE_PERSONAL_TOKEN }}
    #     REPO_URL: "gitee.com/liziwl/sustech-master-thesis.git"

    - name: Push to sustech-git
      run: |
        mkdir -p /tmp/tmp_push2
        cd /tmp/tmp_push2
        git clone --bare https://github.com/liziwl/sustech-master-thesis.git this_repo
        cd this_repo
        git push --force --mirror "https://${USER}:${PERSONAL_TOKEN}@${REPO_URL}"
      env:
        USER: project_160_bot
        PERSONAL_TOKEN: ${{ secrets.GITLAB_PERSONAL_TOKEN }}
        REPO_URL: "mirrors.sustech.edu.cn/git/liziwl/sustech-master-thesis.git"
  #       USER: project_160_bot
  #       PERSONAL_TOKEN: ${{ secrets.GITLAB_PERSONAL_TOKEN }}
  #       REPO_URL: "mirrors.sustech.edu.cn/git/liziwl/sustech-master-thesis.git"
+9 −9
Original line number Diff line number Diff line
@@ -19,17 +19,17 @@ jobs:
      - name: Publish PDF as actions assets
        uses: actions/upload-artifact@v2
        with:
          name: PDF
          name: Example-PDFs
          path: public-test/sustechthesis-example*.pdf

      - name: Deploy PDF to latest branch
        uses: peaceiris/actions-gh-pages@v3
        if: github.ref == 'refs/heads/master'
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./public-test
          publish_branch: latest
          force_orphan: true
      # - name: Deploy PDF to latest branch
      #   uses: peaceiris/actions-gh-pages@v3
      #   if: github.ref == 'refs/heads/master'
      #   with:
      #     github_token: ${{ secrets.GITHUB_TOKEN }}
      #     publish_dir: ./public-test
      #     publish_branch: latest
      #     force_orphan: true

  sync:
    runs-on: ubuntu-latest
+268 −6
Original line number Diff line number Diff line
## distribution files
.DS_Store
package-lock.json
node_modules/
dist/
thuthesis*.zip
thuthesis-ctan/

## generated files:
dtx-style.sty
*thesis.cls
*thesis.pdf
*thesis-example.pdf
spine.pdf
*.hd

## test files:
build/
testfiles/**/*.pdf
public-test/

## Core latex/pdflatex auxiliary files:
*.aux
*.lof
@@ -11,6 +32,22 @@
*.cb
*.cb2
.*.lb
!testfiles/**/*.aux
!testfiles/**/*.toc
!testfiles/**/*.lof
!testfiles/**/*.lot

## Intermediate documents:
*.dvi
*.xdv
*-converted-to.*
# these rules might exclude image files for figures etc.
# *.ps
# *.eps
# *.pdf

## Generated if empty string is given at "Please type another file name for output:"
.pdf

## Bibliography auxiliary files (bibtex/biblatex/biber):
*.bbl
@@ -28,10 +65,235 @@
*.synctex.gz(busy)
*.pdfsync

## Intermediate documents:
*.dvi
*.xdv
*-converted-to.*
## Build tool directories for auxiliary files
# latexrun
latex.out/

## Auxiliary and intermediate files from other packages:
# algorithms
*.alg
*.loa

# achemso
acs-*.bib

# amsthm
*.thm

# beamer
*.nav
*.pre
*.snm
*.vrb

# changes
*.soc

# comment
*.cut

# cprotect
*.cpt

# elsarticle (documentclass of Elsevier journals)
*.spl

# endnotes
*.ent

# fixme
*.lox

# feynmf/feynmp
*.mf
*.mp
*.t[1-9]
*.t[1-9][0-9]
*.tfm

#(r)(e)ledmac/(r)(e)ledpar
*.end
*.?end
*.[1-9]
*.[1-9][0-9]
*.[1-9][0-9][0-9]
*.[1-9]R
*.[1-9][0-9]R
*.[1-9][0-9][0-9]R
*.eledsec[1-9]
*.eledsec[1-9]R
*.eledsec[1-9][0-9]
*.eledsec[1-9][0-9]R
*.eledsec[1-9][0-9][0-9]
*.eledsec[1-9][0-9][0-9]R

# glossaries
*.acn
*.acr
*.glg
*.glo
*.gls
*.glsdefs

# uncomment this for glossaries-extra (will ignore makeindex's style files!)
# *.ist

# gnuplottex
*-gnuplottex-*

# gregoriotex
*.gaux
*.gtex

# htlatex
*.4ct
*.4tc
*.idv
*.lg
*.trc
*.xref

# hyperref
*.brf

# knitr
*-concordance.tex
# TODO Comment the next line if you want to keep your tikz graphics files
*.tikz
*-tikzDictionary

# listings
*.lol

# luatexja-ruby
*.ltjruby

# makeidx
*.idx
*.ilg
*.ind

# markdown
_markdown_*/
*.markdown.lua

# minitoc
*.maf
*.mlf
*.mlt
*.mtc[0-9]*
*.slf[0-9]*
*.slt[0-9]*
*.stc[0-9]*

# minted
_minted*
*.pyg

# morewrites
*.mw

# nomencl
*.nlg
*.nlo
*.nls

# pax
*.pax

# pdfpcnotes
*.pdfpc

# sagetex
*.sagetex.sage
*.sagetex.py
*.sagetex.scmd

# scrwfile
*.wrt

# sympy
*.sout
*.sympy
sympy-plots-for-*.tex/

# pdfcomment
*.upa
*.upb

# pythontex
*.pytxcode
pythontex-files-*/

# tcolorbox
*.listing

# thmtools
*.loe

# TikZ & PGF
*.dpth
*.md5
*.auxlock

# titletoc
*.ptc

# todonotes
*.tdo

# vhistory
*.hst
*.ver

# easy-todo
*.lod

# xcolor
*.xcp

# xmpincl
*.xmpi

# xindy
*.xdy

# xypic precompiled matrices and outlines
*.xyc
*.xyd

# endfloat
*.ttt
*.fff

# Latexian
TSWLatexianTemp*

## Editors:
# WinEdt
*.bak
*.sav

# Texpad
.texpadtmp

# LyX
*.lyx~

# Kile
*.backup

# KBibTeX
*~[0-9]*

# auto folder when using emacs and auctex
./auto/*
*.el

# expex forward references with \gathertags
*-tags.tex

# standalone packages
*.sta

sustechthesis-example.pdf
public*/
 No newline at end of file
yarn.lock
 No newline at end of file

CHANGELOG.md

0 → 100644
+121 −0
Original line number Diff line number Diff line
# Changelog

此处记载了 SUSTechThesis 中所有值得留意的改动,格式参照 [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

点击版本号即可在 GitHub 上查看相邻版本间的代码变动。

Changelog 维护应保持最新版本在文件上面的原则,日期格式按照 ISO 8601 的标准: `YYYY-MM-DD`.

#### 变更分类:*major*, *minor*, *bug-fix*。

#### *major* release trigger:

- `Changed`:现有功能变更。
- `Removed`:现有功能移除。

#### *minor* release trigger:

- `Added`:引入新功能
- `Deprecated`:标记即将被删除的功能。

#### *bug-fix* release trigger:

- `Fixed`:错误修复.
- `Security`:安全漏洞修复.

#### 使用提示

- 未发布版本使用形如 "`[Unreleased]`" 作为二级标题,
- 预发布版本使用形如 "`[1.0.2-rc.1] - 2021-06-11`" 作为二级标题,
- 正式发布版本使用形如 "`[1.0.1] - 2020-07-25`" 作为二级标题。

## [1.1.10] - 2021-06-14
### Changed
- 修正封面,使得表域居中
- 手动调整 chapter 标题的行距
- 声明行距修改
- 更改声明形式,将声明移入cls
- 为声明命令添加可选参数,使得可以合并扫描的声明文件
- 重新定义封面副标题,并配置副标题格式
- 更新测试脚本
- 更新文件名

### Fixed
- 修复封面标题行距
- 修正表格等浮动体内部的字体为 11 bp

## [1.1.9] - 2021-06-10
### Changed
- 更新封面的间距
- 更新关键词缩进,第二行应与第一行平齐
- 参考文献改用传统 BibTeX + natbib 宏包
- 重命名南科大特色格式
- 更新测试脚本
- 更新声明的缩进

### Fixed
- 修复封面字体

## [1.1.8] - 2021-06-09
### Changed
- 同一修改 pt 为 bp
- 移除一些无关的注释

### Fixed
- 修复封面日期为思源宋体

## [1.1.7] - 2021-06-08
### Changed
- 独创声明加入目录
- 更新英文独创声明

### Fixed
- 拼写错误

## [1.1.6] - 2021-06-02
### Changed
- 分类答辩日期与封面发布日期选项
- exanple 中改用 biblatex
- 更新参考文献样式文件

### Fixed
- 英文声明的拼写错误

## [1.1.5] - 2021-05-29
### Changed
- 更新英文摘要大小写:中文为主要语言首字母大写,英文为主要语言全大写。
- 更新原创性声明和使用授权说明

## [1.1.4] - 2021-05-28
### Fixed
- 子图序号添加空格

## [1.1.3] - 2021-05-28
### Changed
- 更新注释
- 更新文档

### Fixed
- 修改表格和图表的标号用横线连接,子图仅有右括号
- 修复工硕英文
- 改写摘要英文为首字母大写

## [1.1.2] - 2021-05-27
### Added
- 添加委员会页面
- 增加论文字数统计

### Changed
- 更新注释,目录中移除独创声明 fix #7

## [1.0.6] - 2021-04-27
### Added
- 加入镜像站链接,更新封面字体。

## [1.0.4] - 2021-04-10
### Fixed
- 修复封面超长英文系名导致的overbox问题。

## [1.0.1] - 2021-03-17
### Added
- 从清华模版 ThuThesis v7.1.0 初始化,并进行简单适配。
 No newline at end of file
+28 −10
Original line number Diff line number Diff line
# Makefile for sustechthesis
# Makefile for SUSTechThesis

PACKAGE = thuthesis
PACKAGE = sustechthesis
THESIS  = sustechthesis-example

SOURCES = $(PACKAGE).ins $(PACKAGE).dtx
CLSFILE = dtx-style.sty $(PACKAGE).cls

LATEXMK = latexmk
SHELL  := /bin/bash
@@ -14,28 +16,44 @@ else
	RM = rm -f
endif

.PHONY: all clean cleanall thesis viewthesis wordcount test FORCE_MAKE
.PHONY: all all-dev clean thesis viewthesis doc viewdoc cls test wordcount FORCE_MAKE

thesis: $(THESIS).pdf

all: thesis

test:
	bash test/test.sh
all-dev: doc all

cls: $(CLSFILE)

$(CLSFILE): $(SOURCES)
	xetex $(PACKAGE).ins

doc: $(PACKAGE).pdf


$(PACKAGE).pdf: cls FORCE_MAKE
	$(LATEXMK) $(PACKAGE).dtx

$(THESIS).pdf: FORCE_MAKE
$(THESIS).pdf: cls FORCE_MAKE
	$(LATEXMK) $(THESIS)

viewdoc: doc
	$(LATEXMK) -pv $(PACKAGE).dtx

viewthesis: thesis
	$(LATEXMK) -pv $(THESIS)

test: cls FORCE_MAKE
	bash test/test.sh

clean:
	$(LATEXMK) -c $(THESIS)
	-@$(RM) -rf public-test
	-@$(RM) -rf *~ main-survey.* main-translation.* _markdown_thuthesis* thuthesis.markdown.*
	$(LATEXMK) -c $(PACKAGE).dtx $(THESIS)
	-@$(RM) -rf *~ main-survey.* main-translation.* _markdown_sustechthesis* sustechthesis.markdown.* _markdown_thuthesis* thuthesis.markdown.*

cleanall: clean
	-@$(RM) $(THESIS).pdf
	-@$(RM) -rf public-test
	-@$(RM) $(PACKAGE).pdf $(THESIS).pdf

wordcount : $(THESIS).tex
	@if grep -v ^% $< | grep -q '\\documentclass\[[^\[]*english'; then \
Loading