subreddit-css icon indicating copy to clipboard operation
subreddit-css copied to clipboard

Find a way if there's a web-hook to auto update /r/web_design's css with an update from this repo.

Open JulianNorton opened this issue 10 years ago • 40 comments

JulianNorton avatar Aug 20 '14 14:08 JulianNorton

This is definitely possible with some sort of continuous integration program. All we'd need is a server (Heroku would work) and another Reddit account with mod privileges on /r/web_design

You'd also have to go through what you do to manually update it: I notice things like %%spritesheet%% in the CSS - do you manually replace these or does Reddit?

jrhodkinson avatar Aug 20 '14 22:08 jrhodkinson

That's reddit's placeholders for images you upload to their CDN (amazon).

purduekenny avatar Aug 21 '14 00:08 purduekenny

So does anything need to be done to that between GitHub and Reddit? Or is it as simple as clicking upload on Reddit with the exact same file as is here?

jrhodkinson avatar Aug 21 '14 00:08 jrhodkinson

That's what I've been doing. I'm not sure what Julian has going on. I just copy the raw and then comment the commit ID to the comment section for revision purposes. I think Julian was wanting something to auto-update the stylesheet if we made a commit here. I'm not sure. We'll have to wait until Julian comments.

purduekenny avatar Aug 21 '14 00:08 purduekenny

Alright, that sounds simple enough - it'd be easy to automate that if we had a server

jrhodkinson avatar Aug 21 '14 00:08 jrhodkinson

I do reseller hosting and obviously have my own website. So, as long as shared hosting is a viable server then we have one. I have no experience with Heroku though.

purduekenny avatar Aug 21 '14 00:08 purduekenny

@Swadq gave you some flair on /r/web_design for your work. :) Nice to have a non-mod contributing.

purduekenny avatar Aug 21 '14 00:08 purduekenny

As long as there's the facility to run a cron job, it'd be fine. All the functionality could be written in PHP.

Ideally the CSS should be run through a validator being put on Reddit, but that can be worked in too. Sadly there's nothing we can really do besides that as far as "unit testing" goes.

The way I see it is there'd be a cron job running every 15 minutes that does the following

  • Check the current hash on /master, if it's different from the last one, continue
  • Copy the CSS and run it through W3C's validator. If it passes, continue
  • Login to /r/web_design's mod interface (cURL or a headless browser?) and update the CSS, including the hash as a comment
  • Save the hash to some file so we can read it later for the first step

Also, thanks!

jrhodkinson avatar Aug 21 '14 00:08 jrhodkinson

Just set up a cron job successfully last week, so it's possible. Who's going to code that? :P No problem. :D

purduekenny avatar Aug 21 '14 00:08 purduekenny

I'm happy to code it, I'll get it set up on a subreddit of my own and commit it here when it works

jrhodkinson avatar Aug 21 '14 00:08 jrhodkinson

Let me see if I can loop in automod's devs…

JulianNorton avatar Aug 21 '14 01:08 JulianNorton

Good idea

jrhodkinson avatar Aug 21 '14 01:08 jrhodkinson

/r/AutoModerator mod here. I don't develop AutoModerator (that's entirely /u/Deimorz) but I can tell you that updating from a 3rd-party-anything is outside the scope of AutoModerator's capabilities.

BenePronomen avatar Aug 21 '14 01:08 BenePronomen

@Swadq are you still interested in doing this?

JulianNorton avatar Sep 08 '14 16:09 JulianNorton

deploy.io offers such functions if you want to give that a try.

W3D3 avatar Sep 17 '14 17:09 W3D3

@W3D3 I couldn't check it out, it's still private.

JulianNorton avatar Sep 18 '14 21:09 JulianNorton

@JulianNorton sorry, wrong link: http://dploy.io/

W3D3 avatar Sep 19 '14 09:09 W3D3

@W3D3 Not sure how to continue. screen shot 2014-09-19 at 9 46 21 am

JulianNorton avatar Sep 19 '14 13:09 JulianNorton

@JulianNorton Looked into it a bit more, would be easier if there was just a simple hook in github which would send a POST request to a server (I could host) running a simple php script accessing the reddit api at /r/web_design/api/subreddit_stylesheet and updating the css there. I'll code it if i have time.

http://www.reddit.com/dev/api#POST_api_subreddit_stylesheet

W3D3 avatar Sep 19 '14 14:09 W3D3

@W3D3 Cool, let me know how that goes!

JulianNorton avatar Sep 24 '14 13:09 JulianNorton

@W3D3 is right about using a hook (GitHub's Webhooks API). I'm willing to code it, but you'll still need a server to host the auto-updating script that gets posted to. It will also need to have access to git and a moderator account to be able to upload the CSS.

JohnnyDeuss avatar Apr 23 '16 21:04 JohnnyDeuss

@JohnnyDeuss by all means! If you can can it working, I'll figure out how to host it.

JulianNorton avatar Apr 24 '16 04:04 JulianNorton

I have a hosting company. I can do it. On Sun, Apr 24, 2016 at 12:17 AM Julian Norton [email protected] wrote:

@JohnnyDeuss https://github.com/JohnnyDeuss by all means! If you can can it working, I'll figure out how to host it.

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub https://github.com/JulianNorton/web_design/issues/5#issuecomment-213881818

purduekenny avatar Apr 24 '16 14:04 purduekenny

I've got the script working, it automatically updates the stylesheet and syncs the assets folder with the reddit image. I am testing with the css/assets from this repo, but I'm getting:

[line 1823] no image found with name "noresults" background: transparent url(%%noresults%%) no-repeat 50% 50%;

Am I correct in assuming that noresults is not in the repo and was added manually?

JohnnyDeuss avatar Apr 27 '16 00:04 JohnnyDeuss

@JohnnyDeuss from: https://github.com/Axel--/Naut-for-reddit/tree/master/Images I think it's a mistake that we didn't include it in our fork, and I've not put it in our own images folder.

JulianNorton avatar Apr 27 '16 01:04 JulianNorton

Seems to work properly. But it does looks like the assets on reddit are not the same as those on GitHub. This is what I get when I sync everything to my test subreddit.

JohnnyDeuss avatar Apr 27 '16 02:04 JohnnyDeuss

Do I need to do anything still?

purduekenny avatar May 03 '16 14:05 purduekenny

@purduekenny The script is already on a GitHub repo of mine, so you can already set it up on a server. The images on this repo are outdated though, or at least not the same as the ones on reddit, so they should be updated here. But as far as the script is concerned, only new/modified images are synced, so you're fine without updating the images for now. Should I make a pull request or just leave it on my own repo?

JohnnyDeuss avatar May 03 '16 17:05 JohnnyDeuss

I think a pull request is a good idea. Your thoughts Julian?

On Tue, May 3, 2016 at 1:25 PM Johnny Deuss [email protected] wrote:

@purduekenny https://github.com/purduekenny The script is already on a GitHub repo of mine, so you can already set it up on a server. The images on this repo are outdated though, or at least not the same as the ones on reddit, so they should be updated here. But as far as the script is concerned, only new/modified images are synced, so you're fine without updating the images for now. Should I make a pull request or just leave it on my own repo?

— You are receiving this because you were mentioned.

Reply to this email directly or view it on GitHub https://github.com/JulianNorton/web_design/issues/5#issuecomment-216603485

purduekenny avatar May 03 '16 18:05 purduekenny

pull away!

On Tue, May 3, 2016 at 2:20 PM Kenny Wilson [email protected] wrote:

I think a pull request is a good idea. Your thoughts Julian?

On Tue, May 3, 2016 at 1:25 PM Johnny Deuss [email protected] wrote:

@purduekenny https://github.com/purduekenny The script is already on a GitHub repo of mine, so you can already set it up on a server. The images on this repo are outdated though, or at least not the same as the ones on reddit, so they should be updated here. But as far as the script is concerned, only new/modified images are synced, so you're fine without updating the images for now. Should I make a pull request or just leave it on my own repo?

— You are receiving this because you were mentioned.

Reply to this email directly or view it on GitHub < https://github.com/JulianNorton/web_design/issues/5#issuecomment-216603485

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub https://github.com/JulianNorton/web_design/issues/5#issuecomment-216619024

JulianNorton avatar May 03 '16 18:05 JulianNorton