Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add some handy markdown editor features #32400

Merged
merged 4 commits into from
Nov 4, 2024

Conversation

wxiaoguang
Copy link
Contributor

There were some missing features from EasyMDE:

  1. H1 - H3 style
  2. Auto add task list
  3. Insert a table

And added some tests

image

@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Nov 1, 2024
@pull-request-size pull-request-size bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Nov 1, 2024
textarea.selectionEnd = startPos + value.length;
textarea.focus();
triggerEditorContentChanged(textarea);
}
Copy link
Member

@silverwind silverwind Nov 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can it use replaceTextareaSelection? That method has the benefit that CTRL-Z works after it.

export function replaceTextareaSelection(textarea: HTMLTextAreaElement, text: string) {

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it can't at the moment.

I know the existence of replaceTextareaSelection but it needs some extra work to merge these two.

Copy link
Member

@silverwind silverwind Nov 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only difference seems to be that this function re-selects the inserted text and focuses the textarea. The re-selection could be pictured in a option and the focus could be done after the function call.

replaceTextareaSelection(textarea: HTMLTextAreaElement, text: string, {reselect: false}: {reselect: boolean})

triggerEditorContentChanged does the same as a change event, right?

Copy link
Contributor Author

@wxiaoguang wxiaoguang Nov 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

triggerEditorContentChanged does the same as a change event, right?

No.


I do not think making more changes is in this PR's scope since it has been fully tested.

And this textareaInsertText is not a new function, it is just extracted from insertPlaceholder, nothing worse.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd prefer if this at least does not break the textarea history. Does CTRL-Z work after inserting content?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This textareaInsertText is not a new function, it is just extracted from insertPlaceholder, nothing worse.

There is always a chance to propose new improvements.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should fix it later.

@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Nov 2, 2024
@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Nov 4, 2024
@wxiaoguang wxiaoguang enabled auto-merge (squash) November 4, 2024 09:45
@wxiaoguang wxiaoguang merged commit af28ce5 into go-gitea:main Nov 4, 2024
26 checks passed
@GiteaBot GiteaBot added this to the 1.24.0 milestone Nov 4, 2024
@wxiaoguang wxiaoguang deleted the add-editor-feature branch November 4, 2024 10:30
@lunny lunny modified the milestones: 1.24.0, 1.23.0 Nov 5, 2024
zjjhot added a commit to zjjhot/gitea that referenced this pull request Nov 6, 2024
* giteaofficial/main: (21 commits)
  Use 8 as default value for git lfs concurrency (go-gitea#32421)
  Fix milestone deadline and date related problems (go-gitea#32339)
  Only query team tables if repository is under org when getting assignees (go-gitea#32414)
  Refactor RepoRefByType (go-gitea#32413)
  Refactor template ctx and render utils (go-gitea#32422)
  Refactor DateUtils and merge TimeSince (go-gitea#32409)
  Refactor markup package (go-gitea#32399)
  Add some handy markdown editor features (go-gitea#32400)
  Make LFS http_client parallel within a batch. (go-gitea#32369)
  Refactor repo legacy (go-gitea#32404)
  Replace DateTime with proper functions (go-gitea#32402)
  Fix git error handling (go-gitea#32401)
  Fix created_unix for mirroring (go-gitea#32342)
  Replace DateTime with DateUtils (go-gitea#32383)
  improve performance of diffs (go-gitea#32393)
  Refactor tests to prevent from unnecessary preparations (go-gitea#32398)
  Add artifacts test fixture (go-gitea#30300)
  Fix `missing signature key` error when pulling Docker images with `SERVE_DIRECT` enabled (go-gitea#32365)
  Fix a number of typescript issues (go-gitea#32308)
  Update go dependencies (go-gitea#32389)
  ...
@go-gitea go-gitea locked as resolved and limited conversation to collaborators Feb 2, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. modifies/frontend modifies/templates This PR modifies the template files modifies/translation size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants