Giter Site home page Giter Site logo

enchant97 / note-mark Goto Github PK

View Code? Open in Web Editor NEW
303.0 1.0 7.0 1.15 MB

Note Mark is a lighting fast and minimal; web-based Markdown notes app.

Home Page: https://notemark.docs.enchantedcode.co.uk/

License: GNU Affero General Public License v3.0

JavaScript 0.10% CSS 0.18% Go 34.59% HTML 0.41% Makefile 0.04% TypeScript 63.99% Dockerfile 0.53% SCSS 0.03% Rust 0.13%
markdown notes notebook note-taking

note-mark's Introduction

Note Mark

License: AGPL V3 GitHub Latest Release

Note Mark is a lighting fast and minimal; web-based Markdown notes app. Featuring a sleek and responsive web UI.

Features

  • Markdown (GitHub Flavored Markdown, see spec here)
  • HTML sanitisation, minimizing XSS attacks
  • Mobile Friendly
  • Friendly URLs for cleaner links
  • Dark & Light Theme
  • Notebook Sharing
  • Custom flat-file based storage system
  • Multiple views for a note (rendered, plain)
  • Lighting fast editor with shortcuts
  • Upload and attach assets

Showcase

Preview Image Showing App

Demo Video

Demo Video

https://youtu.be/rwL99Ac5g98

Docs

Documentation is available here: notemark.docs.enchantedcode.co.uk.

Checkout here for the roadmap.

Support Me

Like this project? Consider supporting me financially so I can continue development.

Buy Me A Coffee

License

This project is Copyright (c) 2024 Leo Spratt, licences shown below:

Code

AGPL-3.0. Full license found in `LICENSE.txt`

Icon / Mark

All Rights Reserved

note-mark's People

Contributors

dependabot[bot] avatar enchant97 avatar jivanyatra avatar robviren avatar wuguishifu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

note-mark's Issues

(feat) Export note as ZIP with assets

Does it fit the projects scope?

  • This is relevant

Why?

I recently documented everything I used to create a Home Assistant dashboard, and let's say someone I know wants to replicate those steps. Currently I would have to download the markdown file, download every single asset and then update the links to be relative to the markdown file before I can give it to him.

Solution?

It would be nice if there was a simple button to "Export note as ZIP" that would automatically collect the markdown file and assets into one ZIP file, where the links to the assets have been replaced with relative paths to make sure it properly renders.

Alternatives?

I also attempted the print option and then export to PDF, but in this case it doesn't format properly because of the high resolution images I used.

Extra Context

Screenshot of what saving to PDF looks like
Screenshot_20240616_184241

(feat) Add setting to show notebooks as expanded by default

Does it fit the projects scope?

  • This is relevant

Why?

It's a bit annoying to have to click into a notebook before even being able to see the notes therein. I realize this is done for performance since you currently only ever fetch notes on a per-book basis, but you could populate more useful data with the same number of requests with a bit of tweaking to the API.

Solution?

I propose a two-part solution:

  1. Add a user-preference option (simple boolean stored with the user in the DB) whether they'd like all the notes fetched alongside books and displayed on the left. This would require checking the field on the logged-in user's data and optionally calling a "getAllNotes" kind of new endpoint on the API
  2. Add a flag on the book level of whether to always show its notes. Would be visible next to the public checkbox. The UI might not even make any new API calls for this - simply have the backend return nested data for all the books where this flag is set to true.

Alternatives?

No response

Extra Context

No response

(BUG) api server verification fails due to caching

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

During the initialization page, if the original backend was configured incorrectly (i.e. wrong subpath in reverse proxy), and the page is run the first time, it will return a 404 (expected).

However, due to the lack of no-cache, the GET request for backend:8000/api/info will automatically used the browser cache, even after fixing the site, resulting in a 404 despite the configuration now being correct.

Expected Behavior

If I mess up reverse proxy config that causes a 404 and then fixes it, I should still be able to validate the api server on login even without clearing/disabling cache.

Steps To Reproduce

  1. Create an incorrect reverse proxy for API (i.e. proxy_pass to backend:8000/ instead of backend:8000 in nginx). Now hitting domain/api/info should return 404 not found
  2. Attempt initial setup with the backend server.
  3. Fix reverse proxy the be the right config
  4. Initial setup still fails validating backend server.

Environment

Docker setups for both, with npm (node proxy manager) as the reverse proxy, connected through docker networks.

Extra Context

No response

(BUG) <title>cannot copy note link

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

clicking Copy Page Link on any note give errors as below

'clipboard-write' (value of 'name' member of PermissionDescriptor) is not a valid value for enumeration PermissionName.

Expected Behavior

It should copy the note URL to clipboard

Steps To Reproduce

  1. Go to any note
  2. Click on the ...
  3. Select Copy Page Link

error popped up

Environment

ubuntu 22.04
docker compose.yml as below

 services:
   note-mark:
     image: ghcr.io/enchant97/note-mark-aio:0.13.1

    restart: unless-stopped
    volumes:
      - /srv/notemark/data:/data
    environment:
      # !!! REPLACE These !!!
      JWT_SECRET: "xxxxx"
      CORS_ORIGINS: "https://xxx.com"
    ports:
      - 7070:8000


Extra Context

No response

Button to quickly copy entire contents to clipboard

Does it fit the projects scope?

  • This is relevant

Why?

I would like to be able to copy the entire article to clipboard easily and rapidly. Ctrl-A doesn't work as it includes other content.

Solution?

Please add a new button to the toolbar that indicates copy contents.

Alternatives?

I would be willing to pay a small bounty to get this feature as it helps my workflow significantly.

Extra Context

Thank you

Disable user registration

I am the only user or I'll create another account as needed. I need to disable registration as this will sit on public facing network.

Set a env to disable please

(feat) Fetch "my notebooks" from home page (or all public, or bookmarked?)

Does it fit the projects scope?

  • This is relevant

Why?

The home page doesn't provide a whole lot of value to single-user setups because of the big empty "NOTEBOOKS" column on the left. I can see in the code you're only ever filling that with notes if the username URL param is provided:

https://github.com/enchant97/note-mark/blob/7855b71aace0ee27f587256ca9e91f9964e4a391/frontend/src/App.tsx#L49C1-L49C1

Solution?

Perhaps we can fill the notebooks column with some actual results while on the non-user-specific home page? There are a few options:

  • If logged in, simply use the logged in user's name as a fallback for the URL param to supply list of "my notes"
  • Show all public notes (this could get out of hand quickly)
  • Show bookmarked notes (as mentioned in the roadmap)

In fact, even all three of these could potentially get surfaced as different options, i.e. by throwing in a dropdown/tabs/radio group to select which you want to display

Alternatives?

Obviously the main alternative solution would be to just remove the list altogether to reduce confusion since it doesn't get used, but that seems like a bit of a waste!

Extra Context

No response

(BUG) Tasks list spacing

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

The spacing between itens list is too high

Expected Behavior

The spacing should be lower

Steps To Reproduce

  1. Create a new note
  2. Create a item list

Environment

Server
os: Manjaro
install method: Docker

Client
os: MacOS 13.0
browser: Chrome Version 116.0.5845.140 (Official Build) (arm64)

Extra Context

Spacing at the note-mark rendered tab

image


Markdown code to reproduce the list:

📋 Tasks

  • task 1
  • task 2
  • task 3
  • task 4

(BUG) Updates Not Causing Cache To Invalidate

On any cached queries when updated other clients will get a stale response, therefore the program will not work as expected.

Effects:

  • Note Updates (not content updates)
  • Book Updates

Roadmap

  • this issue documents the current roadmap of things to do and what release to expect them in
  • this roadmap however is not set in stone and may change overtime
  • this is not a place to request features, use the GitHub discussions

Buy Me A Coffee

Important

Currently doing major backend overhaul, feature pause until done (started: 2024/09/05).

0.14.0

  • Templating language in note (link generation, etc)
  • #201

0.X.X

  • Cookie based authentication (more XSS preventions) (this will however remove the ability to use an separate API domain
  • Make assets easier to access
  • External OpenID/Oauth2 authentication
  • Better error messages

1.0.0

  • Unlimited nesting of notebooks/notes (notebooks inside notebooks), it's been highly requested!

Not Priority

  • Bookmark notes (show on home)
  • Tags (including nested tags)
  • Revision history
  • Offline access (may be read-only at first)

Not Implementing

  • encrypted end-to-end notes
  • any-other note type apart from markdown/plain-text (assets can still be uploaded)
  • WYSIWYG editor

(feat) Add documentation for using CLI in docker/k8s with Distroless tools

Does it fit the projects scope?

  • This is relevant

Why?

When you chose distro-less docker images gcr.io/distroless/static-debian11, please document how to use the CLI tools. There is no common way to access the shell via exec -it <shell>

Solution?

Document that you will need to exec directly to the init commands such as:
kubectl exec -it --namespace= -- /note-mark

kubectl exec -it notemark-675c5fb966-tfk8c --namespace=notes -- /note-mark user -h

Alternatives?

No response

Extra Context

No response

Create account never gets enabled

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

After deployed the application using docker-compose, I connect to 127.0.0.1:8000 and fill in the form for creating an account, but the button CREATE USER never gets enabled and I can't create the account.

Expected Behavior

The account is created and I can login using the credentials

Steps To Reproduce

  1. Create file docker-compose.yml
version: "3"

volumes:
  data:

services:
  backend:
    image: ghcr.io/enchant97/note-mark-backend:0.6.0

    restart: unless-stopped
    volumes:
      - data:/data
    environment:
      # !!! REPLACE These !!!
      JWT_SECRET: "bXktc2VjcmV0"
      CORS_ORIGINS: "*"
    ports:
      - 8001:8000

  frontend:
    image: ghcr.io/enchant97/note-mark-frontend:0.6.0

    restart: unless-stopped
    ports:
      - 8000:8000
  1. Run sudo docker-compose up -d
  2. From the broswer connect to http://127.0.0.1:8000
  3. Click Need an account
  4. Fill the fields using a secure password like P@ssword123 -> the button Create user is greyed out

Environment

Fedora 38 KDE

Extra Context

No response

(BUG) PDF attachments become difficult to access

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

I'm able to attach a PDF file and add a link to it in my note, but it's difficult to access the file.

Clicking the link in my note (/api/notes/xxx/assets/xxx) produces a 200 response with Content-Type: text/html and renders a blank page.

Refreshing the page in Firefox and Chrome will continue to produce the same text/html response. A hard-refresh will bypass the browser cache and produce the appropriate Content-Type: application/pdf response. Accessing the attachment via curl also returns the correct Content-Type header.

Once the PDF is finally rendered in-browser (after hard-refresh), the browser's back button becomes non-functional and only adjusts the URL in the browser's URL bar but does not navigate away from the PDF.

This seems to be an issue with how the client-side code in the front-end web app renders responses returned by the backend server.

Expected Behavior

Accessing file attachments while navigating from the web app should produce proper Content-Type header responses.

Steps To Reproduce

  1. Create a note.
  2. Upload a PDF attachment for that note.
  3. Include a link to the attachment with relative path [file][/api/...] or absolute path [file][https://domain.com/api/...]
  4. Click the link.

Environment

  • Docker AIO through nginx reverse proxy
  • Docker AIO direct access

Extra Context

Cool project, thanks for building this.

I'm trying to deploy this for friends/family but the workarounds are not practical for non-technical users.

(feat) Side-by-side edit-preview

Does it fit the projects scope?

  • This is relevant

Why?

to make easy editing notes and seeing the result os your changes.

Solution?

at the edit tab it would have a option to split the edition to see the changes that you are making in real time preview.

Alternatives?

maybe an auto-save on lose focus or change tabs, so I can see the rendered without losing the edited content

Extra Context

No response

(feat) PDF and other exports.

Does it fit the projects scope?

  • This is relevant

Why?

sometimes you need to share a note with other people, or easily print it. it is much more convenient to send a pdf file instead of a link, especially if instance is not publically available.

Solution?

implement PDF export, possibly other formats like html. it is implemented well in Joplin desktop editor (so you could see an example).

Alternatives?

none, at lease from project description/roadmap.

Extra Context

No response

(BUG) Cannot update user profile

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

When updating user full-name a error is shown (error 500).

Expected Behavior

User details are updated

Steps To Reproduce

  1. My Profile
  2. Update Profile
  3. Enter new name
  4. Save

Environment

No response

Extra Context

No response

(BUG) Copy To Clipboard Does Not Work On All Browsers

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

When i am sharing my note and upload an image to note assets want to copy the link, it will return “type error” to me. I rebuild the container and refresh database it still comes. By the way, the image that I upload i can open in browser which means the link is OK.

Expected Behavior

Fix it
IMG_1194
IMG_1195
IMG_1196

Steps To Reproduce

  1. Create a note folder (set it to public)and create a note
  2. Click the copy link bottom or upload a image to this note and then click copy the image
  3. It will 100% comes out “type error”

Environment

Docker, latest version.
Porxy the web,
Bind ip is 0.0.0.0

Extra Context

No response

(feat) Make notes searchable like useres are searchable.

Does it fit the projects scope?

  • This is relevant

Why?

Is the user search the only search, maybe I missed it? It might also be useful to search for notes.

Solution?

Make all notes searchable.

Alternatives?

No response

Extra Context

No response

subfolder

Does it fit the projects scope?

  • This is relevant

Why?

I know the issue of subfolder from last year someone else mentioned, but I would very much like to say subfolders are so important for a note take app. So, please have at least 2 subfolder, it's normal for a note take app. I want to use it!!! I looking for a good note take app for a long time. I tried joplin(which don't have a web app version), standard note(Mysql won't work), memos(it's not good at taking note). Please.

Solution?

Please.

Alternatives?

No response

Extra Context

No response

(feat) Clickable breadcrumbs

Does it fit the projects scope?

  • This is relevant

Why?

While I will say this isn't a big problem because the app isn't deeply nested, it also feels like a pretty easy fix.

Short of it is the breadcrumbs are not clickable links like I would intuitively think.

Solution?

Just change the <span> tag in each of the breadcrumbs into an <a> tag

Alternatives?

No response

Extra Context

No response

(feat) Creation of subnotebooks

Does it fit the projects scope?

  • This is relevant

Why?

When I'm organizing my notes, I normally make folders and subfolders for context propose.

An example of structure:

  • Work-notebook
    • Project1-notebook
      • tasks-note
      • faq-note
      • events-note
      • cocuments-note
    • Project2-notebook
      • tasks-note
      • documents-note
    • meet-links-note
    • time-sheet-note
    • Meetings-notebook
      • 2023-09-09-daily-note
  • Personal-notebook
    • Groceries-list-note
    • Travel-notebook
      • europe-2024-plans-note

without the habilite to make this subfolders, I would be hard to separate everything, or I would have many long named note or many long named notebooks.

Solution?

Creating some path structure for the notebook, could be done using the / character inside the name of the notebook, just needing to render the tree in the frontend

Alternatives?

Using the current solution, but with the option to re-order the notebook or to order alphabetically.

With the re-order option, I would be able to create the notebooks as needed, and order them manually to be "inside" the "father" path.
image

With the alphabetically ordered, I could make my notebooks start with a number so I can order them as I wish.
image

Extra Context

No response

Disable security or control the cookie expiration

Does it fit the projects scope?

  • This is relevant

Why?

I am using a reverse proxy for auth, so I prefer not having to re-login to the KB every day.

Solution?

Can you provide a docker env var to disable authentication and just set a default username? Or can you provide a mechanism to set the cookie expiration to a far away date.

Alternatives?

No response

Extra Context

No response

(BUG) Changing tab looses all edits

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

When you are editing a note, if you want to preview (render) what you are editing, you will loose all your changes if you don't click on save.

Expected Behavior

If this is the expected behaviour, it should at least alert the user that he will loose all the changes made so far and ask if he wants to go anyway, save and go, stay editing.

Steps To Reproduce

  1. Create a note
  2. Edit a note without saving
  3. Go to Rendered tab

Environment

Server
os: Manjaro
install method: Docker

Client
os: MacOS 13.0
browser: Chrome Version 116.0.5845.140 (Official Build) (arm64)

Extra Context

No response

(BUG) Unexpected error when Creating a new notebook with a repeated slug

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

When creating a notebook, if you already have a notebook with the same slang, the API gives a error 500

Expected Behavior

Should create a new notebook, using the same slug but incremented in 1 at the end.

original slug: personal
new slug? personal-1

not doing that makes people need to remember every slug that already been used.

Steps To Reproduce

  1. Create a notebook with slug: "my-notebook"
  2. Create a new notebook with the same slug

Environment

Server
os: Manjaro
install method: Docker

Client
os: MacOS 13.0
browser: Chrome Version 116.0.5845.140 (Official Build) (arm64)

Extra Context

No response

(feat) Vim editing support.

Does it fit the projects scope?

  • This is relevant

Why?

While not a feature everyone would use, those that do use vim daily would definitely be grateful. Other note apps have vim support as well (Obsidian, for example), so I think it's a reasonable feature.

Solution?

Ideally, there would be a toggle that lets the user switch from normal input to vim input in the editor.

Alternatives?

Editing in vscode or obsidian and then copy-pasting the files over. The only issue is that obsidian's formatting for markdown is slightly different than standard.

Extra Context

Implementation in PR #209

Docker export volume

What is the path to export the data? I want to be sure it's backed up nightly.

Web page not loading with Mull Android web browser

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

Low priority.
When opening Notes-Mark on my docker install only on the app Mull on Android loading the page does not work. All I get is a white loading page with a spinning wheel.
Using a browser that isn't hardened works perfectly and as expected.

Expected Behavior

Web page opens normally.

Steps To Reproduce

No response

Environment

No response

Extra Context

No response

(BUG) Can't create notebook when one does not already exist

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

I just installed it and the ui is missing almost all features. I don't have any buttons to create notes:
image

Expected Behavior

image

Steps To Reproduce

Build using the following docker compose:
`# file: docker-compose.yml

built-for: 0.10.0

version: "3"

volumes:
data:

services:
note-mark:
image: ghcr.io/enchant97/note-mark-aio:0.10
restart: unless-stopped
volumes:
- data:/data
environment:
# !!! REPLACE These !!!
JWT_SECRET: "***********"
CORS_ORIGINS: "https://example.com:8000"
ports:
- 80:8000`

Environment

Docker Engine Community V 24.0.6
Ubuntu 22.04.2 LTS

Extra Context

No response

(feat) Show the content of a folder in main view

Does it fit the projects scope?

  • This is relevant

Why?

Just like the starting-page-main-view recent notes, show the content of a folders in main view when selecting one folder.

Solution?

Show the content of a folders when selecting one.

Alternatives?

No response

Extra Context

No response

(BUG) server is not accepting new accounts

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

After building docker:

# file: docker-compose.yml
# image: 0.14.0
version: "3"
volumes:
  data:
services:
  note-mark:
    image: ghcr.io/enchant97/note-mark-aio
    restart: unless-stopped
    volumes:
      - data:/data
    environment:
      JWT_SECRET: "xxx"
      CORS_ORIGINS: "*"
      ALLOW_SIGNUP: "true"
    ports:
      - 58600:8000

I visit http://192.168.2.14:58080/login and try to create user.
image

It shows this:
server is not accepting new accounts

and docker logs:

note-mark-1  | {"time":"2024-09-25T08:58:39.820091241Z","id":"","remote_ip":"192.168.2.7","host":"192.168.2.14:58600","method":"POST","uri":"/api/users","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0","status":403,"error":"","latency":402901,"latency_human":"402.901µs","bytes_in":48,"bytes_out":0}

Expected Behavior

I'm not sure what's happening here. I hope someone could point out what causes this problem.When trying to create a new user at http://192.168.2.14:58600/login, I expect to successfully register an account.

Steps To Reproduce

use my docker-compose.yml
and docker-compose up -d

Environment

Linux 22.04.3-Ubuntu x86

# file: docker-compose.yml
# image: 0.14.0
version: "3"
volumes:
  data:
services:
  note-mark:
    image: ghcr.io/enchant97/note-mark-aio
    restart: unless-stopped
    volumes:
      - data:/data
    environment:
      JWT_SECRET: "xxx"
      CORS_ORIGINS: "*"
      ALLOW_SIGNUP: "true"
    ports:
      - 58600:8000

Extra Context

tried Edge and Firefox, both the same error.

(BUG) proxy forward auth/IDP and CORS

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

Hi, very nice, slim app 👍
I am using a nginx reverse proxy and everthing works fine. I also enabled CORS (tried both * and my TDLs) and using no cache...

image

When I enable my Authentik proxy forward auth/IDP the app tries to make an request to /api which is forwarede to my IDP auth.TLD.com:

noteMarkCors

Access to fetch at 'https://auth.TLD.com/application/o/authorize/?client_id=EuOyaHfRyXXXXe.com%2Foutpost.goauthentik.io%2Fcallback%3FX-authentik-auth-callback%3DtrXXXXn8Q' (redirected from 'https://note.TLD.com/api/users/me') from origin 'https://note.TLD.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

This seems to fail because of missing CORS headers. Any Ideas on this?

Expected Behavior

No Error with a proxy forward auth setup.

Steps To Reproduce

No response

Environment

No response

Extra Context

No response

(BUG) Notebooks list doesn't complete loading process

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

The notebooks column on the left never loads. It continues to show the loading expanding circle, animation. Books and notes work properly when creating them and accessing them on the main section of the screen

Expected Behavior

From the demo, and screenshots, I should see a tree view of the books and notes I am adding as I add them. They never actually load.

Steps To Reproduce

  1. Create a new book
  2. Look for the book on the left column under "NOTEBOOKS"

Environment

macOS 14.4
Firefox 124.0.1
Apple Mac Mini M2 Pro

Docker Compose File:
note-mark:
container_name: note-mark
image: ghcr.io/enchant97/note-mark-aio:0.12.0
restart: unless-stopped
volumes:
- /opt/note-mark/data:/data
environment:
JWT_SECRET: "*SECRET*"
CORS_ORIGINS: "http://localhost:8000"
ports:
- '8000:8000'

Extra Context

notemark issue
CleanShot 2024-03-27 at 12 52 25
Books and Notes

(BUG) Using the aio version, it still requesting the API server

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

Using the aio version, it still requesting the API server
2023-12-27 211137

Expected Behavior

Not ask for a API address

Steps To Reproduce

Update docker container to aio version and try to login

Environment

No response

Extra Context

No response

(feat) Option to change sort order for notebooks and notes

Does it fit the projects scope?

  • This is relevant

Why?

It would be nice to be able to sort notebooks and notes in different ways, according to current needs. This feature would make it easier to browse/find what we're currently looking for. It seems that now everything is sorted by creation time desc.

Solution?

Add sorting options to both, notebooks and notes, lists/containers.

Optionally, this feature could also be extended with an option to set default sorting option for the whole app. Let's say that default sort is Z to A. User can change sorting in the current session, but after reloading webpage, sorting will be back to the default Z to A.

Example sorting options from Obsidian:

image

Alternatives?

No response

Extra Context

Very promising project. Lately, I've been looking for something similar to Obsidian but simplified and with Web UI so Note Mark fits perfectly.

Looking forward to further updates and upcoming features. Great job and good luck!

(feat) Add a copy button to code blocks

Does it fit the projects scope?

  • This is relevant

Why?

Adding a "copy" button to a notes editor offers practical benefits, such as facilitating easy sharing and quick duplication. This feature preserves formatting, reduces user effort, ensures consistency in UI/UX, and enhances mobile-friendly functionality. The button also integrates with the clipboard, streamlining the process of copying and pasting content across applications. Overall, it contributes to a more efficient and user-friendly experience.

Solution?

image image

Add a copy button as shown in Notion's screenshot on the left. Using the code block here.

Alternatives?

No response

Extra Context

No response

(feat) Disable authentication

Does it fit the projects scope?

  • This is relevant

Why?

If one wants to use his own IDP (proxy-forward-auth) you might want to disable auth in the app.
And/or implement OIDC/SAML to use an OAuth2 provider.

Solution?

Disable auth in the app.

Alternatives?

No response

Extra Context

No response

(feat) Check and Uncheck tasks itens in the Render screen

Does it fit the projects scope?

  • This is relevant

Why?

Doing a task list normally you setup what you need to do, them you go to your note and just check your progress. Needing to enter in the edit mode, make me feels like I'm just using a notepad that has a preview screen(that maybe I'll never use).

Making the render more useful to the user.

Solution?

like github, you doesn`t need to enter the edit screen, at the render you can directly click in the checkbox to make that task completed.

Alternatives?

No response

Extra Context

  • item 1
  • item 2
  • item 3
  • item 4
  • item 5

(BUG) docker compose does not start

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

I follow Note Mark video about docker compose.
I tested with 0.10 (like video) and latest version.
All executions shows me an error,

Expected Behavior

Start a docker image

Steps To Reproduce

Follow instructions of video: https://www.youtube.com/watch?v=rwL99Ac5g98

Environment

version: "3"

volumes:
data:

services:
note-mark:
image: ghcr.io/enchant97/note-mark-aio:0.10
container_name: note-mark-0-10
restart: unless-stopped
volumes:
- data:/data
environment:
- JWT_SECRET="1jO6txx+35X4rCMoOTDQ0Bkl7iQAE5U3HkNbDCpIMVU="
- CORS_ORIGINS="http://localhost:8000"
ports:
- 8007:8000

Extra Context

docker compose up
[+] Running 14/14
✔ note-mark 13 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled
✔ 16100daf795a Pull complete ✔ e33bce57de28 Pull complete ✔ 473d8557b1b2 Pull complete ✔ b6824ed73363 Pull complete ✔ 7c12895b777b Pull complete ✔ 33e068de2649 Pull complete ✔ 5664b15f108b Pull complete ✔ 27be814a09eb Pull complete ✔ 4aa0ea1413d3 Pull complete ✔ 9ef7d74bdfdf Pull complete ✔ 9112d77ee5b1 Pull complete ✔ 3e742936860b Pull complete ✔ c62cf2d58f59 Pull complete [+] Running 1/1
✔ Container note-mark-0-10 Recreated Attaching to note-mark-0-10
note-mark-0-10 | 2024/05/31 10:30:27 env: parse error on field "JWTSecret" of type "config.Base64Decoded": cannot decode base64 string
note-mark-0-10 exited with code 0

(BUG) Dropdown menu goes behind the editor menu

Is there an existing issue for this?

  • I have searched the existing issues

Is This A Security Issue?

  • This is not a security issue

Describe The Problem

when you are in the editor mode and klick on the ... menu, the menu goes behind the button bar

note-mark-menu

Expected Behavior

menu should be in front

Steps To Reproduce

No response

Environment

MacOS
Safari /Edge Browser

Extra Context

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.