# Freelance job

**URL:** https://discuss.prosemirror.net/t/freelance-job/435
**Category:** Uncategorized
**Created:** [October 3, 2016, 1:04pm UTC](https://discuss.prosemirror.net/t/freelance-job/435 "2016-10-03T13:04:01Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![lessless](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/lessless/32/154_2.png) [@lessless](https://discuss.prosemirror.net/u/lessless)
#### Post date: [October 3, 2016, 1:04pm UTC](https://discuss.prosemirror.net/t/freelance-job/435/1 "2016-10-03T13:04:01Z")

</div>

Hello, folks! Long story short, - I’m a backend developer and tried to implement a custom PM setup for our project by myself, but the progress is so desperately slow that we are willing to open the wallets instead of having nothing done.

The editor mimics Medium’s interface and consists from three toolbars:

1. The main toolbar which acts as a tooltip/floating panel i.e. appears when a user selects any text allowing to apply formatting on it (see points 3-6 below).
2. The media toolbar which appears on the empty lines allowing to insert media (point 1 below).
3. The object toolbar which appears when a user selects media and allows to set media-specific properties (point 2 below).

Editor functionality:

1.Insert media: image and button 2. Set media properties: alt text for an image; shape, link address, color for a button 3. Format text: bold, italic, underline 4. Convert text to header (h2/h3) and vise-verse 5. Insert/remove quote 6. insert/change/delete link

The editor should have a placeholder which disappears when a user starts to input text and all representation-specific settings, i.e. button color, text alignment should be a part of the document schema.

Full spec [https://app.box.com/s/7fylyd3ue8tfp2oipviz2gih0wyvzkq2](https://app.box.com/s/7fylyd3ue8tfp2oipviz2gih0wyvzkq2)

Implementation time is not critical, 2-4 weeks will be good. Please, pm if you’re interested and don’t hesitate to ask any questions you want here as well.

---

<div class="post-metadata">

### Author: ![forresto](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/forresto/32/108_2.png) [@forresto](https://discuss.prosemirror.net/u/forresto)
#### Post date: [October 10, 2016, 8:01pm UTC](https://discuss.prosemirror.net/t/freelance-job/435/2 "2016-10-10T20:01:14Z")

</div>

Seems quite similar to what I’ve been working on since January… [https://github.com/the-grid/ed/](https://github.com/the-grid/ed/)

However, I’m upgrading to the newest PM now, and it is taking longer than I expected.

---

<div class="post-metadata">

### Author: ![lessless](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/lessless/32/154_2.png) [@lessless](https://discuss.prosemirror.net/u/lessless)
#### Post date: [October 11, 2016, 6:03am UTC](https://discuss.prosemirror.net/t/freelance-job/435/3 "2016-10-11T06:03:27Z")

</div>

The work you did is quite impressive [https://the-grid.github.io/ed/#fixture](https://the-grid.github.io/ed/#fixture)

---

<div class="post-metadata">

### Author: ![forresto](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/forresto/32/108_2.png) [@forresto](https://discuss.prosemirror.net/u/forresto)
#### Post date: [October 11, 2016, 7:02am UTC](https://discuss.prosemirror.net/t/freelance-job/435/4 "2016-10-11T07:02:20Z")

</div>

The most complexity in that code base is the plugin that syncs height and position between placeholder divs in the editable flow and absolute-positioned widgets outside of the flow. I hope to remove that complexity at some point and just have the widgets in the flow. But for now it works.

> <https://github.com/the-grid/ed/blob/4076fa0e46c9ca058fada37b71018fa5a4723025/src/plugins/widget.js>
