Main.vala 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Astralis;
  2. using Invercargill;
  3. using Invercargill.DataStructures;
  4. using Inversion;
  5. using Spry;
  6. void main(string[] args) {
  7. int port = args.length > 1 ? int.parse(args[1]) : 8080;
  8. try {
  9. var application = new WebApplication(port);
  10. // Enable compression
  11. application.use_compression();
  12. // Add Spry module for component actions
  13. application.add_module<SpryModule>();
  14. // Configure templates
  15. var spry_cfg = application.configure_with<SpryConfigurator>();
  16. spry_cfg.add_template<MainTemplate>("");
  17. // Add Components
  18. application.add_transient<AuroraWaveComponent>();
  19. application.add_transient<FeatureCardComponent>();
  20. application.add_transient<CodeBlockComponent>();
  21. application.add_transient<StatCardComponent>();
  22. // Register page components
  23. application.add_transient<HomePage>();
  24. application.add_endpoint<HomePage>(new EndpointRoute("/"));
  25. application.run();
  26. } catch (Error e) {
  27. printerr("Error: %s\n", e.message);
  28. Process.exit(1);
  29. }
  30. }