- PHP 76%
- JavaScript 17%
- CSS 3.4%
- HTML 2.4%
- Smarty 0.7%
- Other 0.4%
This PR introduces the QuickPhoto addon, designed to improve the user experience within the Friendica editor. It addresses the issue of long, cluttered BBCodes (monster-links) that appear when images are inserted via drag-and-drop or the image uploader. Key Features - Automatic Simplification: Replaces complex [url=...][img=...]...[/img][/url] structures with a human-readable shorthand: [img]filename|description[/img]. - Seamless Reconstruction: Automatically restores the full, valid Friendica BBCode before previewing or submitting a post, ensuring 100% compatibility with the server. - Enhanced Readability: Keeps the editor clean and focus-oriented while writing long posts with multiple images. Technical Highlights & Optimizations - Resource Efficient: The JavaScript is strictly scoped. It only becomes active if a textarea is present and visible in the DOM. - Zero Latency Typing: Implements requestIdleCallback and throttling (500ms) to ensure that the simplification process never interferes with the user's typing flow or causes UI lag. - Background Throttling: Logic is suspended when the browser tab is inactive (document.hidden) to save CPU and battery life. - LocalStorage Cache: Uses a local cache for image data (auto-cleaned after 12 hours) to ensure reliability during a single editing session. Testing performed - Tested with the standard "Jot" editor and the newer Compose/Comment templates. - Verified that image previews render correctly (reconstruction triggers on preview click). - Verified that the final post contains the correct full BBCode on the server side. - Confirmed that Drag & Drop inserts are handled immediately. |
||
|---|---|---|
| .tx | ||
| .woodpecker | ||
| advancedcontentfilter | ||
| audon | ||
| birdavatar | ||
| blackout | ||
| blockbot | ||
| bluesky | ||
| buglink | ||
| calc | ||
| catavatar | ||
| circle_text | ||
| cld | ||
| convert | ||
| cookienotice | ||
| curweather | ||
| diaspora | ||
| discourse | ||
| dwpost | ||
| fancybox | ||
| forumdirectory | ||
| fromapp | ||
| geocoordinates | ||
| geonames | ||
| gnot | ||
| googlemaps | ||
| gravatar | ||
| group_text | ||
| groupdirectory | ||
| highlightjs | ||
| ifttt | ||
| ijpost | ||
| impressum | ||
| infiniteimprobabilitydrive | ||
| invidious | ||
| irc | ||
| js_upload | ||
| keycloakpassword | ||
| krynn | ||
| langfilter | ||
| ldapauth | ||
| leistungsschutzrecht | ||
| libertree | ||
| libravatar | ||
| ljpost | ||
| mailstream | ||
| markdown | ||
| mastodoncustomemojis | ||
| mathjax | ||
| membersince | ||
| monolog | ||
| morechoice | ||
| morepokes | ||
| newmemberwidget | ||
| nitter | ||
| nominatim | ||
| notifyall | ||
| notimeline/templates | ||
| nsfw | ||
| numfriends | ||
| openstreetmap | ||
| opmlexport | ||
| pageheader | ||
| phpmailer | ||
| piwik | ||
| planets | ||
| pnut | ||
| public_server | ||
| pumpio | ||
| qcomment | ||
| quickphoto | ||
| randplace | ||
| ratioed | ||
| rendertime | ||
| s3_storage | ||
| saml | ||
| securemail | ||
| showmore | ||
| showmore_dyn | ||
| smiley_pack | ||
| smileybutton | ||
| smilies_adult | ||
| startpage | ||
| statusnet | ||
| superblock/lang | ||
| tesseract | ||
| testdrive | ||
| tictac | ||
| tumblr | ||
| unicode_smilies | ||
| url_replace | ||
| viewsrc | ||
| webdav_storage | ||
| webrtc | ||
| windowsphonepush/lang | ||
| wppost | ||
| xmppchat | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| INSTALL.txt | ||
| README.md | ||
Addons for Friendica
This repository is a collection of addons for the Friendica Social Communications Server. You can add these addons to the /addon directory of your Friendica installation do extend the functionality of your node.
After uploading the addons to your server, you need to activate the desired addons in the Admin panel. Addons not activated have no effect on your node.
Issues
Please report any issues you have with addons of Friendica from this repository in the main issue tracker of the project.
Connectors
Among these addons there are also the connectors for various other networks (e.g. Twitter, pump.io, Google+) that are needed for communication when the protocol is not supported by Friendica core (DFRN, OStatus and Diaspora).
For communication with contacts in networks supporting those (e.g. GNU social, Diaspora and red#matrix) you just need to access the page configuration in the Admin panel and enable them. For networks where communication is only possible the API access to a remote account, you need to activate the fitting connectors.
Development
The addon interface of Friendica is very flexible and powerful, so if you are missing functionality, your chances are high it may be added with an addon. See the documentation for more information on the addon development.
Translation
Addons can be translated like any other part of Friendica. Translation for addons is done at the Transifex Friendica page.
Read more about the workflow in the Friendica translation documentation.