Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: fumiX/fuBlog
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.2.0
Choose a base ref
...
head repository: fumiX/fuBlog
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref

Commits on May 4, 2023

  1. Copy the full SHA
    9828da1 View commit details
  2. Copy the full SHA
    20d5d13 View commit details
  3. Copy the full SHA
    7a30398 View commit details

Commits on May 8, 2023

  1. fix search results

    cb-fumix committed May 8, 2023
    Copy the full SHA
    4ce8f7e View commit details
  2. fix tags in edit mode

    cb-fumix committed May 8, 2023
    Copy the full SHA
    5a3b618 View commit details

Commits on May 9, 2023

  1. Copy the full SHA
    557c1ef View commit details
  2. Copy the full SHA
    79b848b View commit details
  3. Copy the full SHA
    d00336f View commit details
  4. Update version number

    floscher committed May 9, 2023
    Copy the full SHA
    3047454 View commit details
  5. Copy the full SHA
    a47d21a View commit details
  6. Fix 0 byte sharepic

    floscher committed May 9, 2023
    Copy the full SHA
    ddeef80 View commit details
  7. w.i.p.

    thooyork committed May 9, 2023
    Copy the full SHA
    19941f2 View commit details

Commits on May 10, 2023

  1. autocomplete styles

    thooyork committed May 10, 2023
    Copy the full SHA
    6d3dc85 View commit details
  2. styled autocomplete

    removed warnings when adding
    fixed type issues
    delete obsolete autocomplete component
    thooyork committed May 10, 2023
    Copy the full SHA
    6391700 View commit details
  3. Copy the full SHA
    442106f View commit details
  4. remove wrong property

    thooyork committed May 10, 2023
    Copy the full SHA
    4e7cc95 View commit details
  5. Copy the full SHA
    7046bb1 View commit details
  6. Add OpenGraph sharing image

    floscher committed May 10, 2023
    Copy the full SHA
    ca6bee3 View commit details
  7. improve css

    add animations
    check for existing tags
    thooyork committed May 10, 2023
    Copy the full SHA
    e27b5bd View commit details

Commits on May 11, 2023

  1. Copy the full SHA
    2a1276c View commit details

Commits on May 12, 2023

  1. Merge pull request #68 from fumiX/61-Implement-autocompletion-frontend

    61 implement autocompletion frontend
    thooyork authored May 12, 2023
    Copy the full SHA
    d405d1b View commit details
  2. Copy the full SHA
    bb97435 View commit details
  3. Copy the full SHA
    bdf00b3 View commit details
  4. add openAi image as keyvisual

    add generated image to imagesComponent
    add generated image to markdown
    improve types
    minor cleanup
    thooyork committed May 12, 2023
    Copy the full SHA
    8554331 View commit details

Commits on May 15, 2023

  1. preload custom fonts

    thooyork committed May 15, 2023
    Copy the full SHA
    ba35e80 View commit details

Commits on May 16, 2023

  1. Merge pull request #73 from fumiX/71-wordcloud-preload-font

    preload custom fonts
    thooyork authored May 16, 2023
    Copy the full SHA
    ca21f17 View commit details
  2. persist description

    thooyork committed May 16, 2023
    Copy the full SHA
    de1273c View commit details
  3. Copy the full SHA
    32db137 View commit details
  4. fix deletion of post

    thooyork committed May 16, 2023
    Copy the full SHA
    f743914 View commit details
  5. add createdBy updatedBy tags to searchresults

    reset searchinput on navigation
    thooyork committed May 16, 2023
    Copy the full SHA
    314d6c5 View commit details
  6. fix lint issues

    thooyork committed May 16, 2023
    Copy the full SHA
    f0cf77b View commit details
  7. Merge pull request #76 from fumiX/75-Reset-Search-On-Navigation

    75 reset search on navigation
    thooyork authored May 16, 2023
    Copy the full SHA
    502e2e7 View commit details
  8. Merge pull request #77 from fumiX/70-Fix-Delete-Post

    70 fix delete post
    thooyork authored May 16, 2023
    Copy the full SHA
    cb87f95 View commit details
  9. Copy the full SHA
    0f6e5aa View commit details
  10. Fix refresh of ID tokens

    floscher committed May 16, 2023
    Copy the full SHA
    1c27a41 View commit details
  11. Copy the full SHA
    b1ab510 View commit details
  12. Copy the full SHA
    9b5134c View commit details
  13. Merge pull request #74 from fumiX/69-Fix-Short-Description-Not-Saved-…

    …On-Edit
    
    persist description
    floscher authored May 16, 2023
    Copy the full SHA
    7a3911a View commit details
  14. Copy the full SHA
    165ee27 View commit details

Commits on May 17, 2023

  1. Copy the full SHA
    20da374 View commit details
  2. Copy the full SHA
    917f21e View commit details
  3. Update LTS node version

    floscher committed May 17, 2023
    Copy the full SHA
    0c373cd View commit details
  4. Copy the full SHA
    1c23e7b View commit details

Commits on May 22, 2023

  1. Copy the full SHA
    fbb6c41 View commit details
  2. Copy the full SHA
    2473ae6 View commit details

Commits on May 24, 2023

  1. Copy the full SHA
    e321a96 View commit details
  2. Copy the full SHA
    20a466c View commit details

Commits on May 25, 2023

  1. Bump marked-highlight to 1.0.2

    See markedjs/marked-highlight#33, this fixes a build issue.
    floscher committed May 25, 2023
    Copy the full SHA
    4f4ec18 View commit details
  2. Merge pull request #84 from fumiX/79-Fix-Deprecated-Highlight-Warning

    fix deprecation warnings that emerge from marked
    floscher authored May 25, 2023
    Copy the full SHA
    e66a7ce View commit details

Commits on Jun 16, 2023

  1. Copy the full SHA
    3b0a72b View commit details
Showing with 8,225 additions and 6,558 deletions.
  1. +31 −24 .github/workflows/build.yml
  2. +1 −0 .gitignore
  3. +1 −1 .node-version
  4. +2 −0 README.md
  5. +22 −19 client/package.json
  6. +54 −30 client/src/App.vue
  7. +10 −0 client/src/assets/scss/_variables.scss
  8. +44 −8 client/src/assets/scss/custom.scss
  9. +15 −0 client/src/assets/scss/style.scss
  10. +1 −8 client/src/assets/scss/themes/fumix.scss
  11. +0 −80 client/src/assets/scss/themes/light-dark-mode.scss
  12. +2 −0 client/src/components/AiSummaries.vue
  13. +48 −17 client/src/components/AiSummary.vue
  14. +14 −5 client/src/components/AiSummaryDialog.vue
  15. +17 −19 client/src/components/DisplayTags.vue
  16. +155 −26 client/src/components/ImagePreview.vue
  17. +21 −12 client/src/components/LightDarkToggler.vue
  18. +2 −2 client/src/components/LoginButton.vue
  19. +3 −1 client/src/components/PostNotAvailable.vue
  20. +12 −12 client/src/components/PostPreview.vue
  21. +14 −11 client/src/components/SplitFlap.vue
  22. +3 −3 client/src/components/WordCloud.vue
  23. +6 −3 client/src/debounce.ts
  24. +8 −3 client/src/i18n/de.json
  25. +7 −3 client/src/i18n/en.json
  26. +5 −2 client/src/main.ts
  27. +1 −1 client/src/types/vue3-tags-input.d.ts
  28. +30 −10 client/src/util/api-client.ts
  29. +30 −3 client/src/util/storage.ts
  30. +2 −2 client/src/views/LoginView.vue
  31. +291 −115 client/src/views/PostFormView.vue
  32. +40 −4 client/src/views/PostView.vue
  33. +19 −21 client/src/views/PostsView.vue
  34. +6 −2 client/tsconfig.config.json
  35. +1 −3 client/tsconfig.json
  36. +25 −0 client/vite.config.ts
  37. +7 −7 common/package.json
  38. +1 −0 common/src/dto/AppSettingsDto.ts
  39. +1 −1 common/src/dto/SupportedImageMimeType.ts
  40. +1 −0 common/src/dto/SupportedInsertPositionType.ts
  41. +6 −1 common/src/entity/User.ts
  42. +2 −0 common/src/entity/UserRole.ts
  43. +7 −0 common/src/index.ts
  44. +27 −15 common/src/markdown-converter-common.ts
  45. +7 −0 common/src/types/logged-in-user-info.ts
  46. +1 −0 common/src/types/markedhighlight.d.ts
  47. +1 −0 common/src/types/markedmangle.d.ts
  48. +42 −0 common/src/types/public-post.ts
  49. +5 −0 common/src/types/search-operator.ts
  50. +4 −4 common/src/util/base64.ts
  51. +39 −0 common/src/util/cookie-header-helpers.ts
  52. +11 −0 common/src/util/date-util.ts
  53. +6 −3 common/src/util/mimeType.ts
  54. +7 −4 common/tsconfig.json
  55. +8 −1 docker-compose.yml
  56. +1 −0 docker/app/Dockerfile
  57. +17 −5 docker/compose/.env.template
  58. +0 −1 lerna.json
  59. +6,369 −5,765 package-lock.json
  60. +9 −8 package.json
  61. +8 −5 portal/package.json
  62. +6 −4 portal/src/index.ts
  63. +12 −12 portal/src/routes/login.ts
  64. +6 −3 portal/src/routes/token.ts
  65. +1 −1 portal/src/routes/userinfo.ts
  66. +1 −1 portal/tsconfig.json
  67. +2 −0 scripts/check-packages.ts
  68. +10 −0 scripts/register.mjs
  69. +6 −0 server/.env.template
  70. +18 −17 server/package.json
  71. +1 −5 server/src/config/cors-config.ts
  72. +1 −1 server/src/entity/Attachment.entity.ts
  73. +2 −2 server/src/entity/OAuthAccount.entity.ts
  74. +8 −7 server/src/entity/Post.entity.ts
  75. +1 −1 server/src/entity/Tag.entity.ts
  76. +4 −4 server/src/entity/User.entity.ts
  77. +3 −0 server/src/errors/BadRequestError.ts
  78. +7 −0 server/src/errors/ForbiddenError.ts
  79. +11 −0 server/src/errors/GoneError.ts
  80. +4 −0 server/src/errors/HttpStatusCode.ts
  81. +3 −0 server/src/errors/InternalServerError.ts
  82. +3 −0 server/src/errors/NotFoundError.ts
  83. +6 −0 server/src/errors/UnauthorizedError.ts
  84. +3 −0 server/src/logger.ts
  85. +8 −2 server/src/routes/admin.ts
  86. +25 −28 server/src/routes/auth.ts
  87. +198 −119 server/src/routes/posts.ts
  88. +20 −9 server/src/routes/utility.ts
  89. +11 −10 server/src/server.ts
  90. +62 −0 server/src/service/email-service.ts
  91. +63 −24 server/src/service/middleware/auth.ts
  92. +18 −20 server/src/service/openai.ts
  93. +48 −0 server/src/service/opengraph.ts
  94. +13 −13 server/src/service/testdata-generator.ts
  95. +2 −2 server/src/service/testdata/images.ts
  96. +104 −0 server/src/settings.ts
  97. +2 −1 server/src/types/express/index.d.ts
  98. +2 −2 server/tsconfig.json
55 changes: 31 additions & 24 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -11,9 +11,11 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v3
# See https://github.com/Automattic/node-canvas/issues/599#issuecomment-1336370909
- run: sudo apt-get install -y libsdl-pango-dev libgif-dev
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'npm'
@@ -26,15 +28,16 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v3
- run: sudo apt-get install -y libsdl-pango-dev libgif-dev
- uses: actions/checkout@v4
- name: Cache build
id: cache-build
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: node_modules/.cache/nx
key: ${{ runner.os }}-${{ hashFiles('package-lock.json') }}-build
- name: Setup Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'npm'
@@ -55,44 +58,46 @@ jobs:
portal
]
steps:
- uses: actions/checkout@v3
- run: sudo apt-get install -y libsdl-pango-dev libgif-dev
- uses: actions/checkout@v4
- name: Cache build
id: cache-build
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: node_modules/.cache/nx
key: ${{ runner.os }}-nx-${{ hashFiles('package-lock.json') }}
- name: Setup Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'npm'
cache-dependency-path: 'package-lock.json'
- run: npm ci
- run: npx lerna run build --scope=@fumix/fu-blog-${{ matrix.workspace }}
- run: echo "This file is placed at the project root, so Github preserves the artifact paths (see https://github.com/actions/upload-artifact/issues/206)" > root.txt
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: dist
name: dist-${{ matrix.workspace }}
path: | # Important to use `|` to preserve the path (see https://github.com/actions/upload-artifact/issues/55#issuecomment-633825395)
${{ matrix.workspace }}/dist/**
root.txt
root-${{ matrix.workspace }}.txt
if-no-files-found: error

test:
needs: build-app
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v3
- run: sudo apt-get install -y libsdl-pango-dev libgif-dev
- uses: actions/checkout@v4
- name: Cache build
id: cache-build
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: node_modules/.cache/nx
key: ${{ runner.os }}-nx-${{ hashFiles('package-lock.json') }}
- name: Setup Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'npm'
@@ -111,10 +116,12 @@ jobs:
contents: read
packages: write
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
- run: sudo apt-get install -y libsdl-pango-dev libgif-dev
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: dist
pattern: dist-*
merge-multiple: true
- run: |
cp -r server/dist/* docker/app/
cp -rT server/test-data/ docker/app/test-data/
@@ -126,17 +133,17 @@ jobs:
npm install
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ github.repository }}-app
- name: Log in to the Container registry
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v3
uses: docker/build-push-action@v6
with:
context: docker/app
push: true
@@ -160,10 +167,10 @@ jobs:
en_US
]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ github.repository }}-postgres
labels: |
@@ -178,13 +185,13 @@ jobs:
latest=auto
suffix=-${{ matrix.language }},onlatest=true
- name: Log in to the Container registry
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v3
uses: docker/build-push-action@v6
with:
build-args: |
language=${{ matrix.language }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/*/dist/
/server/public/
/.idea/
/.nx/
node_modules/
# TypeScript cache
*.tsbuildinfo
2 changes: 1 addition & 1 deletion .node-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18.15.0
22
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -18,6 +18,8 @@ A blog software written in Typescript, with an Express.js backend and a Vue3 fro
* [5010](http://localhost:5010): dev client
* [5020](http://localhost:5020): dev postgres
* [5030](https://localhost:5030): login portal (fake OAuth)
* [5040](https://localhost:5040): dev SMTP server (HTTP port)
* [5041](https://localhost:5041): dev SMTP server (SMTP port)
* [5100](http://localhost:5100): production app
* [5120](http://localhost:5120): production postgres

41 changes: 22 additions & 19 deletions client/package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"name": "@fumix/fu-blog-client",
"version": "0.1.0",
"version": "0.2.4",
"scripts": {
"start": "vite --port 5010",
"build": "run-p type-check build-only",
"preview": "vite preview",
"build-only": "vite build",
"test": "echo \"At the moment there are no tests for the 'client' package …\"",
"type-check": "vue-tsc --noEmit",
"type-check": "vue-tsc",
"lint": "prettier --check 'src/**/*.(ts|vue)' && eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --ignore-path .gitignore",
"lintfix": "prettier 'src/**/*.(ts|vue)' --write && eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
},
@@ -18,33 +18,36 @@
"@fortawesome/free-solid-svg-icons": "^6.3.0",
"@fortawesome/vue-fontawesome": "^3.0.3",
"@fumix/fu-blog-common": "*",
"bootstrap": "^5.2.3",
"@sipec/vue3-tags-input": "^3.0.4",
"bootstrap": "5.3.3",
"buffer": "^6.0.3",
"luxon": "^3.3.0",
"stream-browserify": "^3.0.0",
"vue": "^3.2.45",
"vue": "^3.4.30",
"vue-i18n": "^9.2.2",
"vue-router": "^4.1.5",
"vue3-tags-input": "^1.0.6",
"vue-router": "^4.4.0",
"vuejs-paginate-next": "^1.0.2",
"wordcloud": "^1.2.2"
},
"devDependencies": {
"@intlify/unplugin-vue-i18n": "^0.10.0",
"@rushstack/eslint-patch": "^1.1.4",
"@types/bootstrap": "^5.2.6",
"@types/luxon": "^3.2.0",
"@types/node": "^18.15.1",
"@vitejs/plugin-vue": "^4.1.0",
"@vue/eslint-config-prettier": "^7.1.0",
"@vue/eslint-config-typescript": "^11.0.0",
"@vue/tsconfig": "^0.1.3",
"eslint": "^8.36.0",
"eslint-plugin-vue": "^9.9.0",
"@intlify/unplugin-vue-i18n": "^4.0.0",
"@material/web": "^2.0.0",
"@rushstack/eslint-patch": "^1.10.3",
"@tsconfig/node20": "^20.1.4",
"@types/bootstrap": "^5.2.10",
"@types/luxon": "^3.4.2",
"@unhead/vue": "^1.1.26",
"@vitejs/plugin-vue": "^5.0.5",
"@vue/eslint-config-prettier": "^9.0.0",
"@vue/eslint-config-typescript": "^13.0.0",
"@vue/tsconfig": "^0.5.1",
"eslint": "^8.57.0",
"eslint-plugin-vue": "^9.26.0",
"sass": "^1.59.2",
"typescript": "^5.0.4",
"vite": "^4.2.1",
"vue-tsc": "^1.3.0"
"unplugin-fonts": "^1.0.3",
"vite": "^5.3.1",
"vue-tsc": "^2.0.22"
},
"type": "module"
}
Loading