Commit graph

59 commits

Author SHA1 Message Date
Hippo
4cfea0ac3d Allow Seance upload/download through websockets
It's all working! Yay!!
2020-05-14 22:05:29 +05:30
Hippo
f99272cd84 Remove top margin from seance fetch page 2020-05-12 16:17:53 +05:30
Hippo
9a9493a196 Remove trailing slash from routes 2020-05-12 16:17:25 +05:30
Hippo
958b846401 Temporarily fixes "render homepage instead of fetch page" bug
For some reason, loading /fetch runs the fetch page, but then
ends up rendering the / page instead. Can't figure it out, but
this solves it for now so let's go with it till we come up with a
proper solution :P
2020-05-12 16:15:18 +05:30
Hippo
99815e0d65 Delete extraneous test button 2020-05-10 23:11:46 +05:30
Hippo
490cb134cd Disable cache for now, because it messes up loading
Don't know why :(
2020-05-10 23:08:37 +05:30
Hippo
ee362e8954 Change host protocol depending on website and localhost
If you're on localhost, your protocol (http vs https) takes
precedence. If not, the other website's takes precedence, because
otherwise you could end up being blocked by security
2020-05-10 23:03:14 +05:30
Hippo
7ad8f7b3f8 Make Seance bookmarklet URLs relative
So it'll send people to the current Seance installation instead
of blindly directing them to localhost
2020-05-10 22:44:47 +05:30
Hippo
54ae9f57a6 Add Procfile and node version for Heroku deploy 2020-05-10 18:50:27 +05:30
Badri Sunderarajan
691e3026d9 Increase z-index of "Loading..." bookmarklet banner
Medium's popup was overpowering it, but now we've got the other
hand
2020-05-08 15:44:38 +05:30
Badri Sunderarajan
ba50455abd Server: save incoming JSON to file instead of discarding
This is the first step in actually saving and processing the thing
2020-05-08 15:43:34 +05:30
Badri Sunderarajan
50f8002d45 Make fetchMediumJSON's URL guessing more intelligent
Now, it checks and processes the current query string instead of
blindly tacking on a "?format=json" at the end.
2020-05-08 15:41:07 +05:30
Badri Sunderarajan
6496768956 Fix create-user command and make it actually save a file
Earlier, it used to print out the stuff to the screen, which you'd
then have to copy to a file manually - tedious!

By the way, the other fixes were typos and omissions while changing
Seance from a simple file to an object.
2020-05-08 15:39:44 +05:30
Hippo
8117d24b4c Set up Medium fetching via bookmarklet!
Currently this only loads post details; it doesn't process it
(ie. download images, etc.) yet.
2020-05-07 22:57:34 +05:30
Hippo
d2b2bfa2e2 Bugfix: CSS output path was relative instead of absolute 2020-05-07 22:56:18 +05:30
Hippo
8c7ad6e81e Adjust dependencies to stop causing errors
Essentially, downgrade Babel and a few related packages
2020-05-05 21:27:10 +05:30
Hippo
35cdad01c2 Set up Bulma
Also, an empty directory (with a placeholder index.htm) to render
the static files
2020-05-05 19:22:46 +05:30
Hippo
2353195837 Set up skeleton server! 2020-05-05 18:40:41 +05:30
Hippo
f31cc73cc8 Give .js files more descriptive names
This is in preparation for setting up the server! ;-)
2020-05-05 18:01:34 +05:30
Badri Sunderarajan
73212d9d20 Make Seance functions event-based
They now emit events when updates happen: the first step to making
the asychronous online server version!
2020-05-04 19:02:55 +05:30
Badri Sunderarajan
4a86adcbe3 Upload files one at a time to avoid race-conditions 2020-05-04 18:21:59 +05:30
Badri Sunderarajan
0d8c6c6adc Make fs read and write operations asynchronous
We're using the Promise/async version of file read/write commands,
so the script doesn't keep blocking or hanging around but can
keep doing other stuff till the file reading or writing is over
2020-05-04 18:18:31 +05:30
Badri Sunderarajan
198f576123 Allow passing local JSON instead of downloading
This way, if you have the JSON already there locally, you don't
have to bother downloading it from online. Especially useful if
the JSON is passed to you some other way, like through a browser
for example
2020-05-04 18:06:01 +05:30
Badri Sunderarajan
0d9ecfd8f5 Make Seance into separate Object
Now, the Seance object is what everyone operates with. That way,
we can do fancy stuff like emitting events, etc. if the need so
arises (as it will, very soon; trust me).
2020-05-04 18:01:05 +05:30
Badri Sunderarajan
e0b5ab31b4 Update mediumexporter 2020-05-04 16:45:23 +05:30
Badri Sunderarajan
299369b363 Bugfix: crashes when no config file detected
It was looking for a (nonexistent, obsolete) variable to check if
the "config" command is running. Now, it just looks at the
command-line options directly and does it.
2020-05-04 13:57:09 +05:30
Hippo
51b7dcf49a Add setup command (to set all config variables) 2020-04-26 21:12:15 +05:30
Hippo
751a647a73 Gracefully fail if Ghost admin not set
This is still ungraceful, in the sense it'll fail spectacularly
later, but at least it gives us the opportunity to run the new
`setup` command first.

Where's that command, you say? Just wait for the next commit! ;-)
2020-04-26 21:11:19 +05:30
Hippo
a57add4809 Allow YAML config load, and escape route if it doesn't exist
The "escape route" is the setup command (yet to be implemented)
2020-04-26 18:38:53 +05:30
Hippo
53b0832a8c Use convict to load config settings 2020-04-24 22:20:18 +05:30
Hippo
fa8b2022ce Add .env to gitignore 2020-04-24 21:29:20 +05:30
Hippo
e41358118a Move config loading to a new file
This is so that we can extend it further (by loading from more
locations, etc.)
2020-04-24 21:28:39 +05:30
Badri Sunderarajan
e1ec23fc3b
Adjust mediumexporter dependency to use seance-latest edition
This is a branch that will be kept updated to work with seance
even if the original at github:xdamman/mediumexporter#master
takes time to pull in changes
2020-01-11 16:40:15 +05:30
Hippo
629549910d Bugfix: double-negative in directory-creation check 2020-01-03 16:04:25 +05:30
Hippo
f402fe6195 Tweak upload functions for more sensible error logging 2020-01-02 14:29:07 +05:30
Hippo
b6a8fe4e63 Upload and set featured image while pushing to Ghost
NOTE: mediumexporter also needs to be updated to download the
feature image in the first place!
2020-01-01 21:37:36 +05:30
Hippo
38b5a8ec5d Medium-to-Ghost processing: Check for title-skipping only once
If we've already skipped the title, no need to go on searching
for it again. We'll probably end up missing some subheadings or
something
2020-01-01 21:36:29 +05:30
Hippo
2131d76fd5 Load metadata in beginning of pushToGhost rather than end
So that we can refer to it in the meantime
2020-01-01 21:35:23 +05:30
Hippo
821111df5e Change upload path month to be 1-indexed instead of 0-indexed
Jan=1 and Dec=12, not Jan=0 and Dec=11. Because that's just too
confusing ;P
2020-01-01 21:33:57 +05:30
Hippo
dd79830afd Replace scissors with section-break and don't upload the image
Some publications, including Snipette, use an image in place of
section breaks. These images should be filtered out for Ghost and
replaced with a linebreak ('---') because the image will be added
later via CSS or something. Also, this means we don't have to
unnecessarily re-upload the pics multiple times and for mulitple
posts
2020-01-01 21:33:31 +05:30
Hippo
9db918b0fa Fix typo in README: content -> create-user 2019-12-24 23:02:17 +05:30
Hippo
69cd1c0c7a Re-enable image uploading for push-ghost
It was disabled while debugging and we left it like that by
mistake :P
2019-12-24 22:52:50 +05:30
Hippo
f6638045d0 Update README with info on new commands and env variables 2019-12-24 22:51:37 +05:30
Hippo
8d6380069f Actually upload the post to Ghost on ghost-push! 2019-12-24 22:38:38 +05:30
Hippo
e01e510ed3 Write authors to metadata
This requires an updated version of mediumexporter, which has
been added in package.json
2019-12-24 22:37:00 +05:30
Hippo
f8da665b5b Set up Ghost Admin interface 2019-12-24 22:22:58 +05:30
Hippo
9ae10df8a3 Add markdown to dependencies 2019-12-24 22:22:21 +05:30
Hippo
9e8da95450 Add Ghost Admin API (@tryghost/admin-api) 2019-12-24 20:52:55 +05:30
Hippo
219a1aa751 Upload profile pic during user creation 2019-12-24 20:30:01 +05:30
Hippo
95f48b24ba Implement "image upload" part of push-ghost command 2019-12-24 14:50:48 +05:30