6 ms·
Ask HN: The right way to build a dynamic personal website for a physics student?
- MaltoonYezi 3y agoThe question is relatively long, so I thought It'd be more appropriate to post a link instead: https://stackoverflow.com/questions/76846328/the-right-way-to-build-a-dynamic-personal-website-for-a-physics-student https://stackoverflow.com/questions/76846328/the-right-way-t...
- smokel 3y agoWhy do you want to build it yourself? If the goal is to learn something, then it is probably better to simply start experimenting and see how far you can get. Asking for generic advice on StackOverflow or Hacker News is probably not the best approach. You'd get many opinions, and it will take a lot of time to be able to evaluate those. Making something like this will probably take hundreds of hours. If the goal is not to learn something, I doubt you would want to invest that amount of time. I can only suggest that it is much easier to use an existing solution, such as WordPress or SquareSpace.
- MaltoonYezi 3y agoOf course, I wouldn't want to waste that much time. The goal here is to have a working site, and not to "just practice building stuff". I was just exploring stuff and thinking what to do WordPress and SquareSpace wouldn't let me connect a custom domain to the webstie for free. Frankly speaking, there might be some custom features, that could be added later, and have to be realized with code.
- PaulHoule 3y agoPhysics PhD who has been working in the software industry since here. I made my first web page with plain old HTML at my physics department and had a job in grad school making education content in Java applets. You don”t need ‘dynamic’, a dynamic back end will cost a lot to run and be something that can screw up. You’re not doing anything really interactive and will want to add content at most once a week if thst. Go Jamstack with a static site generator like Hugo or Pelican. Pick you favorite here https://jamstack.org/generators/ https://jamstack.org/generators/
- MaltoonYezi 3y agoThis is the way. No, not really doing anything interactive, but rather the dynamism was needed to make the website look different depending on where the user IP comes from. For starters, a simple node app outputting different static HTML might do: https://openjavascript.info/2023/01/23/serve-static-files-in-node-js-with-express/ https://openjavascript.info/2023/01/23/serve-static-files-in... Later, something like Netlify CMS could be used: https://www.youtube.com/watch?v=4wD00RT6d-g https://www.youtube.com/watch?v=4wD00RT6d-g
- genezeta 3y agoThere is no single "right way". Instead, there are pros and cons to various solutions and your circumstances will value those pros/cons in a particular, personal way. This will make a few of those options be more suitable to your needs. Other than that, you mention a few things which you should not really care about. E.g. a CDN or "deploying in the cloud" doesn't really make much sense at this stage. And no, you should not concern yourself about "webassembly" for this at all. Probably also, analytics. In any case I think the main problem is that it's not really clear to me whether your main goal is to a. build the thing, b. use the thing, or c. both. But you should consider that a. will take quite a bit of effort and time, and it can easily end up taking away your willingness to do b. On the other hand, if your goal is b. then there are already many solutions available without building them yourself.
- MaltoonYezi 3y agoThat might be me just overthinking, lol Yeah, the goal in this case is: b. use the thing Even though, I feel like it's not the only website, I'll have to realize, I'd still want to spend as little time as possible on the site at the beginning. For example, I could use a personal website template, replace with my information. Output it in different languages depending on user's location. A small node solution could be used: https://openjavascript.info/2023/01/23/serve-static-files-in-node-js-with-express/ https://openjavascript.info/2023/01/23/serve-static-files-in... https://www.npmjs.com/package/geoip-lite https://www.npmjs.com/package/geoip-lite and It'll be good enough for starters. Later, just use Netlify CMS in order to have a blog: https://www.youtube.com/watch?v=4wD00RT6d-g https://www.youtube.com/watch?v=4wD00RT6d-g
- genezeta 3y ago> and It'll be good enough for starters That is the key. Start with something simple. Yes, a template is a good idea. If you want to go just one step farther, a static site generator may be better. There are dozens (hundreds [0]) of them, from quite simple to more complex. Start with something simple where you write your content in Markdown and you can easily change to a different SSG if it turns out you don't like the one you chose. [0] https://staticsitegenerators.net/ https://staticsitegenerators.net/ (Note: that list is overwhelming; you don't need to go through it. Order by popularity and look at the top 3-5 at most. Hugo, Jekyll, Gatsby... Personally I'm using Zola [ https://www.getzola.org/ https://www.getzola.org/ ] for a couple of sites, but that's just me.)
- sp332 3y agoThis reminds me of what Olia Lialina calls "Prof. Dr. Style", which is basically the opposite. http://contemporary-home-computing.org/prof-dr-style/ http://contemporary-home-computing.org/prof-dr-style/
- MaltoonYezi 3y agoI like this one better https://www.amarchenkova.com/ https://www.amarchenkova.com/