Command line editor for Discourse

Edit Discourse topics locally

The discedit tool allows you to edit Discourse topics in your favourite local text editor. It works by pulling a topic from Discourse, opening it in a local text editor and automatically pushing the edits.

Setting up

You will need to install Go and have a Discourse API key. The key should be personal (set to a single user) and the scope should be set to global (allows all actions). If you don't have the rights to handle keys, get in touch with the administrator of your Discourse installation.

1. Clone this repository and navigate into the directory:

git clone https://github.com/niemeyer/discedit.git
cd discedit

2. Compile the application:

go build

3. Run and follow the tool instructions to complete your setup.

./discedit <topic URL>
Owner
Similar Resources

Watcher - A simple command line app to watch files in a directory for changes and run a command when files change!

Watcher - Develop your programs easily Watcher watches all the files present in the directory it is run from of the directory that is specified while

Mar 27, 2022

A modern and intuitive terminal-based text editor

A modern and intuitive terminal-based text editor

micro is a terminal-based text editor that aims to be easy to use and intuitive, while also taking advantage of the capabilities of modern terminals

Jan 7, 2023

Source code editor in pure Go.

Source code editor in pure Go.

Editor Source code editor in pure Go. About This is a simple but advanced source code editor As the editor is being developed, the rules of how the UI

Dec 25, 2022

Integrated console application library, using Go structs as commands, with menus, completions, hints, history, Vim mode, $EDITOR usage, and more ...

Integrated console application library, using Go structs as commands, with menus, completions, hints, history, Vim mode, $EDITOR usage, and more ...

Gonsole - Integrated Console Application library This package rests on a readline console library, (giving advanced completion, hint, input and histor

Nov 20, 2022

📝 Easily format yaml files on terminal or your editor

YAMLFMT A simple and extensible yaml formatter. Installation go install github.com/UltiRequiem/yamlfmt@latest Make sure your $PATH includes the $GOPAT

Oct 31, 2022

Are you programming and suddenly your stomach is rumbling? No problem, order your Ifood without leaving your favorite text editor ❤️

vim-ifood Você ta programando e de repente bateu aquela fome? Sem problemas, peça seu Ifood sem sair do seu editor de texto favorito ❤️ Are you progra

Jun 2, 2022

TIled map editor CSV export conversion to C array

tiled2c This tool is very simplistic and is a variation of the one written to convert between Tiled map editor CSV exports and a format for the sega s

Nov 28, 2021

Basic CLI save editor for Medieival Dynasty written in Go.

Basic CLI save editor for Medieival Dynasty written in Go.

Medieival-Dynasty-save-editor Basic CLI save editor for Medieival Dynasty written in Go. Windows binaries Usage Backup your saves first. Made for GOG

Apr 12, 2022

Dependency-Free Bencode Editor

rbEdit A statically compiled and dependency-free Bencode editor in Go, useful for command line use and scripts. Quick Start # Compile for linux arch:

Dec 28, 2022
Comments
  • fork/exec invocation of EDITOR fails when a flag is included

    fork/exec invocation of EDITOR fails when a flag is included

    ./discedit works as expected, unless EDITOR includes a flag.

    My EDITOR in my macOS partition is /usr/local/bin/mate -w (TextMate - the -w flag is needed for use with tools like Git, that need to wait for an edit to complete).

    Unfortunately, the end result is:

    error: cannot edit file <filename>: fork/exec /usr/local/bin/mate -w: no
    such file or directory 
    

    i.e. I think that fork/exec is confused by the flag, and is trying to find a file called /usr/local/bin/mate -w.

    I'm not sure how to work around this, other than by creating a wrapper script that will invoke /usr/local/bin/mate -w on the file.

  • Required token should ideally be scoped

    Required token should ideally be scoped

    Currently discedit requires a token that is of "user level: single user" but of scope "global key (allows all actions)" per https://github.com/niemeyer/discedit#configure-discedit-with-your-discourse-keys.

    This means that if the user in question is an admin, they could potentially use this token to delete or modify other users.

    Discourse tokens can be scoped to "topics" with "read" and "write" permissions. However, creating a token with just these permissions didn't seem to work.

    Is it possible to update discedit to be able to use scoped tokens?

  • [RFE] Update remote copy upon saving

    [RFE] Update remote copy upon saving

    Instead of having to save and close the file in order to update the remote copy on the Discourse instance, would it be possible to do so upon merely saving the file? Thank you.

  • [RFE] Ability to download all topics in a category

    [RFE] Ability to download all topics in a category

    Please add support for downloading all topics in a category. For example, this would be very useful for inspecting the source text of the entirety of a documentation set. For the 'ceph' category:

    discedit -get-all-category-topics ceph
    
An open-source GitLab command line tool bringing GitLab's cool features to your command line
An open-source GitLab command line tool bringing GitLab's cool features to your command line

GLab is an open source GitLab CLI tool bringing GitLab to your terminal next to where you are already working with git and your code without switching

Dec 30, 2022
A command line tool that builds and (re)starts your web application everytime you save a Go or template fileA command line tool that builds and (re)starts your web application everytime you save a Go or template file

# Fresh Fresh is a command line tool that builds and (re)starts your web application everytime you save a Go or template file. If the web framework yo

Nov 22, 2021
A command line tool to prompt for a value to be included in another command line.

readval is a command line tool which is designed for one specific purpose—to prompt for a value to be included in another command line. readval prints

Dec 22, 2021
Pure Go line editor with history, inspired by linenoise

Liner Liner is a command line editor with history. It was inspired by linenoise; everything Unix-like is a VT100 (or is trying very hard to be). If yo

Jan 3, 2023
A modern UNIX ed (line editor) clone written in Go

ed (the awesome UNIX line editor) ed is a clone of the UNIX command-line tool by the same name ed a line editor that was nortorious for being and most

May 29, 2021
Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.
Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.

asciigraph Go package to make lightweight ASCII line graphs ╭┈╯. Installation go get github.com/guptarohit/asciigraph Usage Basic graph package main

Jan 8, 2023
git-xargs is a command-line tool (CLI) for making updates across multiple Github repositories with a single command.
git-xargs is a command-line tool (CLI) for making updates across multiple Github repositories with a single command.

Table of contents Introduction Reference Contributing Introduction Overview git-xargs is a command-line tool (CLI) for making updates across multiple

Dec 31, 2022
git-xargs is a command-line tool (CLI) for making updates across multiple GitHub repositories with a single command
git-xargs is a command-line tool (CLI) for making updates across multiple GitHub repositories with a single command

git-xargs is a command-line tool (CLI) for making updates across multiple GitHub repositories with a single command. You give git-xargs:

Feb 5, 2022
Package command provide simple API to create modern command-line interface

Package command Package command provide simple API to create modern command-line interface, mainly for lightweight usage, inspired by cobra Usage pack

Jan 16, 2022
A command line tool for simplified docker volume command built with go

dockervol A command line tool for simplified docker volume command built with go. Features: Remove anonymous volume (beta) Remove volume by matching n

Dec 18, 2021