Coder Social home page Coder Social logo

puggle's Introduction

Puggle: MediaWiki editing in IntelliJ IDEA (https://en.wikipedia.org/wiki/Wikipedia:Puggle)

What's new - Version 0.14a

Added increment series. If you have a table with an incrementing numeric value in a column, you can insert something and it will update all the values below it (used for "rank" in tables).

Installing Puggle

From source

  1. Set up an IntelliJ plugin development environment as per here: http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/setting_up_environment.html
  2. Clone this project somewhere and open it in IntelliJ IDEA.
  3. Set the project SDK to be the plugin development SDK that you set up earlier.
  4. Run the project's "Plugin" run configuration.

Using a binary release

  1. Download the latest release.
  2. In IntelliJ, go to Settings > Plugins > Install plugin from disk.
  3. Find where you saved the plugin (.zip file) and restart IntelliJ when prompted.
  4. Create a new empty IntelliJ project (specialized MediaWiki project coming soon).
  5. Create a file with the .mediawiki extension, and add some wikitext.

Contact us

If you have any questions, bugs, or feature requests, you can join us on IRC at ##puggle on Freenode! (All IRC users with a @wikipedia or @wikimedia host-mask are automatically voiced.)

puggle's People

Contributors

drewmutt avatar yoshi24517 avatar geofbot avatar

Stargazers

Matthew Bowker avatar  avatar

Watchers

Matthew Bowker avatar James Cloos avatar  avatar  avatar  avatar

Forkers

geofbot

puggle's Issues

Structure pane support

Show sections in the Structure pane (essentially using it as a Table of Contents) for easier navigation.

Code folding support

Support for folding/collapsing sections of text (or large templates that are on their own line) would be useful if you don't want completed sections cluttering your view.

Random Error in PHPStorm

Unknown char (
java.lang.AssertionError: Unknown char (
at com.mwplugin.bracematching.TagMatchTypedActionHandler.handleTagMatching(TagMatchTypedActionHandler.java:93)
at com.mwplugin.bracematching.TagMatchTypedActionHandler.execute(TagMatchTypedActionHandler.java:35)
at com.intellij.execution.impl.ConsoleViewImpl$MyTypedHandler.execute(ConsoleViewImpl.java:1171)
at com.intellij.openapi.editor.actionSystem.TypedAction$DefaultRawHandler$1.run(TypedAction.java:171)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1031)
at com.intellij.openapi.editor.actionSystem.TypedAction$DefaultRawHandler.lambda$execute$0(TypedAction.java:165)
at com.intellij.openapi.command.impl.CoreCommandProcessor.a(CoreCommandProcessor.java:149)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:109)
at com.intellij.openapi.editor.actionSystem.TypedAction$DefaultRawHandler.execute(TypedAction.java:159)
at com.intellij.openapi.editor.impl.EditorFactoryImpl$MyTypedHandler.execute(EditorFactoryImpl.java:310)
at com.intellij.openapi.editor.actionSystem.TypedAction.lambda$actionPerformed$0(TypedAction.java:142)
at com.intellij.reporting.FreezeLoggerImpl.runUnderPerformanceMonitor(FreezeLoggerImpl.java:42)
at com.intellij.openapi.editor.actionSystem.TypedAction.actionPerformed(TypedAction.java:142)
at com.intellij.openapi.editor.impl.EditorImpl.processKeyTypedNormally(EditorImpl.java:1128)
at com.intellij.openapi.editor.impl.EditorImpl.a(EditorImpl.java:1116)
at com.intellij.openapi.editor.impl.EditorImpl.processKeyTyped(EditorImpl.java:3136)
at com.intellij.openapi.editor.impl.EditorImpl$6.keyTyped(EditorImpl.java:951)
at java.awt.AWTEventMulticaster.keyTyped(AWTEventMulticaster.java:239)
at java.awt.Component.processKeyEvent(Component.java:6496)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2832)
at java.awt.Component.processEvent(Component.java:6318)
at java.awt.Container.processEvent(Container.java:2237)
at java.awt.Component.dispatchEventImpl(Component.java:4897)
at java.awt.Container.dispatchEventImpl(Container.java:2295)
at java.awt.Component.dispatchEvent(Component.java:4719)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:806)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1074)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:945)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:771)
at com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:27)
at java.awt.Component.dispatchEventImpl(Component.java:4768)
at java.awt.Container.dispatchEventImpl(Container.java:2295)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4719)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:737)
at java.awt.EventQueue$4.run(EventQueue.java:735)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:821)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:622)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Experienced without interacting with puggle.

Allow Puggle to save edits to an article

Add an option to the Puggle dropdown to save the article back to Wikipedia.

There are a few different implementation details for this. First, the plugin would need to be able to authenticate to Wikipedia.

Second, there would need to be some way to "link" the local file with the remote articles. There would be a couple ways to do this.

Way 1: Include a hidden tag at the beginning or the end of the file. Like so:
<!-- path: http://en.wikipedia.org/w/api.php title: List_of_Puggle_developers -->

Way 2: Include a file that lives with the article file that includes the relevant information. So for the article List of Puggle developers.mediawiki I would have a corresponding .List of Puggle developers.meta that would contain the information necessary. The second file might need to be hidden.

This would also allow from saving within the app, though there must be mechanisms in place to handle edit conflicts.

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.