Click anywhere to close this dialog

Farewell

Great is the art of beginning, but greater is the art of ending
Henry Wadsworth Longfellow

I announce that I cease all development and activity in the programming universe indefinitely. My career has reached the turning point I was not expecting for at least another year, leaving me highly off guard and without laid-out plans for this hobby's continuity. I have begun a 5-year residency program in Neurosurgery which is clearly not compatible, time-wise, with programming.

I gave in all my passion for developing, and you gave me back your loyalty and trust, even when I did not deserve that much. Now it is the time for payback. I release all my present and past work as Open Source software, in the hope some talented developer will continue maintaining and expanding my vision of a modern, sleek forum software. The intrinsic flexibility of MyBB is the true hidden gem of an otherwise outdated codebase; I do hope the project can continue and be updated complying to the latest coding standards.

I hereby thank Euan, kawaii, andrewjs18, Ben, Matt, Omar G., effone, Eric J., Devilshakerz, Wildcard, JordanMussi and all the other team members I have had the opportunity to work with when I was a MyBB team member. I thank Tomm M, my mentor, who inspired me to pick up coding with his piece-of-art plugins. And finally, I thank all of you MyBBoost subscribers who have helped me getting through my toughest university years economically.

Yours sincerely, Filippo

Endless beta 1

10 Mar 2018 Edited
#1
Endless is a plugin which replaces normal pagination with an infinite scrolling approach. It is heavily inspired by Flarum's, except it is packed with some modifications which make it completely compatible with the latest MyBB versions and aim to improve its stability and usability.

[Image: 0kGO7wR.gif]

Minimum requirements


PHP 5.4
MyBB 1.8.0

Main features


Extensibility


Endless is designed to replace MyBB pagination of both threads and forums with an infinite scrolling pagination, but it is capable of transforming whatever custom paginated list into an endless scrolling experience. For example, MyBBoost's newsfeed homepage has Endless support with just a few lines of server-side code.

Endless automatically parses lists of valid data in the DOM and sends AJAX requests with a range of items to get from the backend, and it displays a temporary placeholder while the data is being fetched. All you need to do is write down a function which accepts and handles Endless-generated data, gets the requested items and returns them in a standardized fashion. A step-by-step tutorial will be written down after the beta period.

Scrubber-based


QuoteWhat's good about regular pagination is being able to quickly jump through the pages, with infinite scroll I'd have to keep scrolling to get to the last reply. Infinite scrolling looks a lot better than regular pagination but I think its functionality will get tedious, that's unless you've made a workaround for this.

The workaround comes directly from Flarum's inspiration. Endless includes a scrubber, a small draggable item added automatically by the plugin which you can use to quickly jump between posts and threads in the currently viewed discussion/forum. The scrubber position is updated automatically as you scroll, so you always know what's left to read; and you can both drag and drop the scrubber or click a specific point within it to be launched directly to the range of posts you wish to see.

At the current stages, you can choose to hide or display the scrubber and set threads/posts breakpoints after which, if a forum/thread exceed the breakpoint in size, the scrubber is displayed. You can also choose to hide the scrubber if a forum/thread has a single-page amount of data.

Automatic detection or manual triggering


You can tell Endless to automatically detect user's scrolling and show items, or you can set up manual buttons users will need to push in order to load further posts/threads, in both upwards and downwards direction. This feature is currently hardcoded. It will be integrated into MyBB's settings system in beta 2.

Installation


Upload the files maintaining the same folder structure they are compiled to and clicking the button Install & activate within your board's plugin list.

Endless requires 2 CSS classes to work properly:
  • thread to every thread (forumdisplay_thread);
  • post to every post (postbit/postbit_classic).

Ensure you have those classes in your theme’s templates, otherwise it will not work.


Display month and year in the scrubber


The scrubber can detect the currently-visible item's dateline and display a formatted "month year" date as you scroll, so you know an approximate timeline of what you are currently reading. Endless needs a timestamp to process it though; you must add it manually to your templates.
  • forumdisplay_thread: add data-time="{$thread['dateline']}" to the tr.thread element;
  • postbit or postbit_classic: add data-time="{$post['dateline']}" to the div.post element.

Settings


Endless adds 4 settings to tune the scrubber as explained above.

Templates and stylesheets


Endless adds a CSS file named endless.css to every theme of your board. You can customize the scrubber's and placeholders' appearance by editing the stylesheet's CSS rules and the 3 templates added by Endless called endless_placeholder_post, endless_placeholder_thread and endless_scrubber. {totalCount} and {colspan} are replaced by Endless with the respective values (total count of items and colspan to match the variability of MyBB's default theme within forumdisplay, due to mods having an extra column with a checkbox).

Reporting issues and requesting new features


If you encounter an issue or you want to request a new feature for Endless, feel free to open a new thread in this forum with detailed instructions on how to reproduce your issue if you want to report one.

Availability


Endless is available for free. WARNING SIGN Support is discontinued due to my departure from programming. Read more why here.


This project is licensed under

MIT


A simple license with little to no use restrictions, except for author's crediting. Read the provided LICENSE file for more informations.

Permissions

Commercial use
Modification
Distribution
Private use
Limitations

Warranty
Liability
Conditions

License notice
Copyright notice
Filename Size Downloads
28.21 KB 197
LIONHAERT, FishingCraze, Glaumy And 4 others like this post
WallBB 11 Mar 2018 Edited
#2
I will give it a try Shade, I have all templates completely custom so is there any dependency on MyBB default javascripts ?
Shade 11 Mar 2018
#3
No, Endless runs on his own. However, if you have a custom theme you might need to adjust the placeholder templates (and CSS) to your likings.
MagnumPL 12 Mar 2018
#4
you may add this on theard list :D
Shade 12 Mar 2018 Edited
#5
It’s already available for threadlist.
iso 19 Mar 2018
#6
Is there a way to make the scrubber a little smaller?
i've a "showthread" that look like yours and i want to implement the the scrubber on the right side after all the other elements
Shade 19 Mar 2018
#7
You can play around with the .Scrubber class in the endless.css stylesheet added to every theme of your board.
iso 19 Mar 2018
#8
it's possible to manually insert {$endless_scrubber} into a template?
Shade 19 Mar 2018
#9
No, the scrubber template is json_encoded and added to the currently-supported areas which are showthread and forumdisplay. There wouldn't be any point to make it available in other templates as Endless does not support any other paginated lists at the moment.
Matty likes this post
iso 19 Mar 2018 Edited
#10
i know but i simply would like to insert it manually to my showthread template because otherwise i can not put it on my sticky right side panel (like flarum or discourse )with only css xD

by the way it's an amazing plugin:D