public static SphinxSettings fromNode(ObjectNode node) {
            List<String> extraDependencies = List.of();
            if (node.containsMember("extraDependencies")) {
                extraDependencies = node.expectArrayMember("extraDependencies")
                        .getElementsAs(StringNode::getValue);
            }
            List<String> extraExtensions = List.of();
            if (node.containsMember("extraExtensions")) {
                extraExtensions = node.expectArrayMember("extraExtensions")
                        .getElementsAs(StringNode::getValue);
            }
            return new SphinxSettings(
                    node.getStringMemberOrDefault("format", "html"),
                    node.getStringMemberOrDefault("theme", "furo"),
                    extraDependencies,
                    extraExtensions,
                    node.getBooleanMemberOrDefault("autoBuild", true));
        }
Load the settings from an {@code ObjectNode}.

@param node the {@code ObjectNode} to load settings from.
@return loaded settings based on the given node.
smithy-docgen/src/main/java/software/amazon/smithy/docgen/integrations/SphinxIntegration.java